2

私は持ってい<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"と、列はヘッダー付きで表示されます。

これはどのように発生し、どうすれば解決できますか?

4

1 に答える 1

1

<f:facet name="header">列名が古くなっています。Primefaces 3.0 では、まったく同じことを行う headerText 属性が導入されました。

代わりにこれを試してください:

<p:column rendered="#{headerShow}" headerText="header">
  <h:outputText value="#{abc.hijk}" />
</p:column>
于 2012-10-18T13:21:26.963 に答える