【问题标题】:p:column header facet is not shown when rendered attribute is used on p:column当在 p:column 上使用渲染属性时,不显示 p:column 标题方面
【发布时间】:2012-10-08 13:34:43
【问题描述】:

我有一个<p:dataTable>。我想有条件地渲染一个<p:column>,如下所示:

<p:dataTable value="#{abcList}" var="abc">
  <p:column rendered="#{headerShow}">
    <f:facet name="header">
      <h:outputText value="header" />
    </f:facet>
    <h:outputText value="#{abc.hijk}" />
  </p:column>
</p:dataTable>

#{headerShow}false 时,该列被隐藏。 当#{headerShow}true 时,将显示该列,但没有标题。 当我对rendered="true" 进行硬编码时,该列会显示标题。

这是怎么引起的,我该如何解决?

【问题讨论】:

  • 当您删除 &lt;f:facet name="header"&gt; 时,&lt;p:column rendered="#{headerShow}" headerText="someText"&gt; 是否对您有效?
  • 是的,如果 &lt;f:facet name="header"&gt; 删除,那么它可以工作。
  • 请显示 SSCCE 而不是混淆的 sn-p。 #{headerShow}真的有什么条件?是不是取决于#{abc}左右?

标签: jsf-2 primefaces


【解决方案1】:

&lt;f:facet name="header"&gt; 的列名已过时。 Primefaces 3.0 引入的 headerText 属性完全相同。

所以试试这个吧:

<p:column rendered="#{headerShow}" headerText="header">
  <h:outputText value="#{abc.hijk}" />
</p:column>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-04-10
    • 1970-01-01
    • 2014-06-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多