p:在p:列上使用渲染属性时,不显示列标题构面

时间:2012-10-18 06:57:45

标签: jsf-2 primefaces

我有<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"进行硬编码时,会显示带有标题的列。

这是如何引起的?如何解决?

1 个答案:

答案 0 :(得分:1)

<f:facet name="header">对于列名称已过时。 Primefaces 3.0引入了headerText属性,完全相同。

所以试试这个:

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