viernes, 30 de marzo de 2007

Solucion: columnas dinamicas en un af:iterator

La solución, aparente chapuza pero es que con c:if no funcionaba, consiste en utilizar el iterator varias veces (esto serían las celdas de la tabla ) y renderizar la fila en función de #{vs.index mod 3==[numero de fila del 0 al 2]}


<h:panelGrid columns="4">
<af:outputText value="#{messages.clases}"/>

<af:iterator value="#{curso.clasesList}" var="clase" first="0" varStatus="vs">
<afh:rowLayout rendered="#{vs.index mod 3==0}">
<af:outputText value="#{clase.nombre}" escape="false"/>
</afh:rowLayout>
</af:iterator>
<af:iterator value="#{curso.clasesList}" var="clase" first="1" varStatus="vs">
<afh:rowLayout rendered="#{vs.index mod 3==1}">
<af:outputText value="#{clase.nombre}" escape="false"/>
</afh:rowLayout>
</af:iterator>

<af:iterator value="#{curso.clasesList}" var="clase" first="2" varStatus="vs">
<afh:rowLayout rendered="#{vs.index mod 3==2}">
<af:outputText value="#{clase.nombre}" escape="false"/>
</afh:rowLayout>
</af:iterator>
</h:panelGrid >

No hay comentarios: