I haven't did this (dinamically nested columns) but If you are using
facelets or JSF 1.2 try using c:forEach and post the results, maybe this
solve your issue.
Glauco P. Gomes
Joris Kimpe escreveu:
This is indeed what I want to do. However, I need to have data in one column
("counters") that is a List of data of my var. So I try to iterate this
list... which results in an exception:
java.lang.IndexOutOfBoundsException: Index: 5, Size: 5
at java.util.ArrayList.RangeCheck(Unknown Source)
at java.util.ArrayList.get(Unknown Source)
at
org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.table.ColumnData._get(ColumnData.java:431)
at
org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.table.ColumnData.useSeparateRows(ColumnData.java:284)
at
org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.ColumnRenderer._renderDataMode(ColumnRenderer.java:213)
at
org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.ColumnRenderer.encodeAll(ColumnRenderer.java:96)
at
org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:224)
...
This is what I did:
<tr:table id="overview" value="#{backingBean.dataModel}" var="row">
<tr:column>
<f:facet name="header">
<tr:outputText value="Date"/>
</f:facet>
<tr:outputText value="#{row.date}"/>
</tr:column>
<tr:column width="20%" headerText="Counters">
<tr:column>
<tr:iterator value="#{row.counters}" var="counter">
<tr:column headerText="id">
<tr:outputLabel
value="#{counter.valueString}"/>
</tr:column>
</tr:iterator>
</tr:column>
</tr:column>
Glauco P. Gomes wrote:
You can use nested columns, for details search for "Column Groups" in
the tag documentation[1] and in the developer guide[2].
[1] http://myfaces.apache.org/trinidad/trinidad-api/tagdoc/tr_column.html
[2] http://myfaces.apache.org/trinidad/devguide/table.html
Glauco P. Gomes