I have to merge columns of the header. And I have two rows of headers to be shown in jsf dataTable. So I used some thing of this kind in the beginning of the dataTable. This worked fine.But this is making rendered condition get ignored on the t:column attribute.(All the columns irrespective of the rendered attribute). I tried placing rendered attribute inside t:column on h:outputText tag but in vain.
<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>