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.
I think that the datatable component will be improve as son as possible. For example edit into cells but naturally not including other controls, only using an additional attribute, introduce other controls like drop downs, crosstab functions, master detail, and all functions in edit mode too, the possibility to reuse. It control will be more flexible like an flex grid in V basic or datawindow in power builder or grid in backbase framework. I think that this control is the most important control in the development process and Icefaces will be put more focus in that.
Regards
Pablo