Actually, this doesn't have anything to do with using the groupOn attribute or being the first column. The data can be exported if the outputText's inside the column use the 'value' attribute instead of inner text or EL expressions.
For example, this markup won't export anything:
<ice:outputText>#
{row.name}</ice:outputText>
...but this markup will:
<ice:outputText value="#{row.name}
" />
A sample page, ICEfacesPage1.xhtml, has been attached to show how the test app can work as intended with some minor changes on the page.
The ice:dataExporter expects that anything inside a column will be an instance of UIComponent, since it needs to read the 'rendered' attribute to determine whether something is to be exported or not, and it assumes that any component that can be exported will have a 'value' attribute.
This behavior could be feasibly improved to support other scenarios. For example. if one places an ice:panelGroup inside the column and some outputText's inside of it, the outputText's won't be exported since the processing for the column will stop because the ice:panelGroup component doesn't have a value.
However, improving the layout (to look like what's rendere don the page) of the exported file when using the groupOn attribute is not very feasible. It would require a major change in the way the dataExporter processes tables, since rows are processed one by one, without considering the next and previous rows, and this processing is done for both csv and excel formats, and grouping a column would not be applicable to the csv format.
Actually, this doesn't have anything to do with using the groupOn attribute or being the first column. The data can be exported if the outputText's inside the column use the 'value' attribute instead of inner text or EL expressions.
For example, this markup won't export anything:
<ice:outputText>#
{row.name}</ice:outputText>...but this markup will:
<ice:outputText value="#{row.name}
" />
A sample page, ICEfacesPage1.xhtml, has been attached to show how the test app can work as intended with some minor changes on the page.
The ice:dataExporter expects that anything inside a column will be an instance of UIComponent, since it needs to read the 'rendered' attribute to determine whether something is to be exported or not, and it assumes that any component that can be exported will have a 'value' attribute.
This behavior could be feasibly improved to support other scenarios. For example. if one places an ice:panelGroup inside the column and some outputText's inside of it, the outputText's won't be exported since the processing for the column will stop because the ice:panelGroup component doesn't have a value.
However, improving the layout (to look like what's rendere don the page) of the exported file when using the groupOn attribute is not very feasible. It would require a major change in the way the dataExporter processes tables, since rows are processed one by one, without considering the next and previous rows, and this processing is done for both csv and excel formats, and grouping a column would not be applicable to the csv format.