Example added to the component showcase: 15529
To support multiple dataTable headers, we have added the following two new components and two new attributes to the ice:column component "rowspan" and "colspan":
- ice:columnGroup (must need to be a child of table level "facet" named with either "header" or "footer")
- ice:headerRow (represents a single line in the header, must need to be a child of ice:columnGroup. ice:columnGroup can have one or more headerRow components)
<ice:dataTable....>
<f:facet name="header">
<ice:columnGroup>
<ice:headerRow>
<ice:column rowspan="2">
<ice:outputText value="First Name"/>
</ice:column>
<ice:column rowspan="2">
<ice:outputText value="Last Name"/>
</ice:column>
<ice:column colspan="2">
<ice:outputText value="Contact Info"/>
</ice:column>
</ice:headerRow>
<ice:headerRow>
<ice:column>
<ice:outputText value="Phone"/>
</ice:column>
<ice:column>
<ice:outputText value="Email"/>
</ice:column>
</ice:headerRow>
</ice:columnGroup>
</f:facet>
<ice:column>
<ice:outputText id="firstName" value="#
{person.firstName}
"/>
</ice:column>
<ice:column>
<ice:outputText id="lastName" value="#
{person.lastName}
"/>
</ice:column>
<ice:column>
<ice:outputText id="phoneNo" value="#
{person.phoneNo}
"/>
</ice:column>
<ice:column>
<ice:outputLink id="mailto" value="mailto:#
{person.email}">
<ice:outputText id="email" value="#{person.email}
"/>
</ice:outputLink>
</ice:column>
</ice:dataTable>
Please see the attached image to see the rendered result of the above snippet.
Also see this thread which includes an image showing desired colspan and rowspan capabilities: http://www.icefaces.org/JForum/posts/list/5951.page