我必须合并标题的列。我有两行标题要显示在 jsf dataTable 中。所以我在dataTable的开头使用了一些这种东西。这很好用。但这会使 t:column 属性上的渲染条件被忽略。(所有列与渲染属性无关)。我尝试将渲染属性放在 t:column 中的 h:outputText 标记上,但徒劳无功。
<t:dataTable var="myvo" value=...............................>
<f:facet name="header">
<t:panelGroup><f:verbatim escape="false">
<TR>
<TH colspan="1" align="center" class="tableHeader">Title</TH>
<TH colspan="1" align="center" class="tableHeader">myheader1</TH>
<TH colspan="1" align="center" class="tableHeader">myheader2</TH>
</TR>
</f:verbatim>
</t:panelGroup>
</f:facet>
<t:column rendered="#{!myvo.myflag}">
<f:facet name="header"><h:outputText value="Internal Header1"/></f:facet>
<h:outputText value="#{myvo.myContent1}" styleClass="BodyFont" /></t:column>
<t:column rendered="#{myvo.myflag}">
<f:facet name="header"><h:outputText value="Internal Header2"/></f:facet>
<h:outputText value="#{myvo.myContent2}" styleClass="BodyFont" /></t:column>
</t:column>
<t:column rendered="#{!myvo.myflag}">
<f:facet name="header"><h:outputText value="Internal Header3"/></f:facet>
<h:outputText value="#{myvo.myContent3}" styleClass="BodyFont" /></t:column>
</t:column>
<t:column rendered="#{myvo.myflag}">
<f:facet name="header"><h:outputText value="Internal Header4"/></f:facet>
<h:outputText value="#{myvo.myContent4}" styleClass="BodyFont" /></t:column>
</t:column>
<t:column rendered="#{!myvo.myflag}">
<f:facet name="header"><h:outputText value="Internal Header5"/></f:facet>
<h:outputText value="#{myvo.myContent5}" styleClass="BodyFont" /></t:column>
</t:column>