ヘッダーの列をマージする必要があります。そして、jsf dataTable に表示される 2 行のヘッダーがあります。そこで、dataTable の冒頭でこの種のものを使用しました。これは正常に機能しましたが、これにより、レンダリングされた条件が t:column 属性で無視されます (レンダリングされた属性に関係なくすべての列)。h:outputText タグの t:column 内に render 属性を配置しようとしましたが、無駄でした。
<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>