pessoal,
Quero montar uma matriz em uma página e pensei fazer isso usando um rich:dataTable .
O negócio é que para essa matriz, tanto o número de colunas como o de linhas é variável.
Achei um post aqui do fórum dizendo como fazer isso para um número variável de colunas, mas como resolver o de linhas?
rich:dataTable + rich:subTable ??
bobmoe
Novembro 11, 2009, 7:23pm
#2
usa o rich:datatable e tenta colocar um a4j:repeat para os rich:column
++ editado ++
alias, esquece tenta fazer soh com 2 a4j:repeat acho q fica melhor
o post que eu vi é esse aqui:
http://www.guj.com.br/posts/list/35282.java
mas basicamente estou pensando em uma estrutura de repetição usando um DataModel para gerar as colunas dinamicamente (como descrito no post) e outro para gerar as linhas.
minha idéia inicial para montar a tabela é essa na página:
<a4j:outputPanel>
<rich:dataTable var="mechOut"
value="#{anamanMatrixMB.mechanicOutput}">
<f:facet name="header">
<rich:columnGroup>
<c:forEach var="#{mechOut}">
<rich:column>
<h:outputLabel value="#{mechOut.rowCount}" />
</rich:column>
</c:forEach>
<rich:column>
<h:outputLabel value="Soma" />
</rich:column>
<rich:column>
<h:outputLabel value="Média" />
</rich:column>
</rich:columnGroup>
</f:facet>
<rich:subTable value="#{anamanMatrixMB.equipmentOutput}"
var="#{eOut}">
<c:forEach items="#{mechOut.rowCount}">
<rich:column>
<h:inputHidden value="#{eOut.getIdEquipment}" />
<h:inputHidden value="#{mechOut.getIdOutput}" />
<rich:inplaceSelect
defaultLabel="..."
valueChangeListener=""
immediate="true" >
<f:selectItem itemLabel="0" itemValue="0" />
<f:selectItem itemLabel="5" itemValue="5" />
<f:selectItem itemLabel="10" itemValue="10" />
</rich:inplaceSelect>
</rich:column>
</c:forEach>
<rich:column>
<h:outputText value="#{Método do ManagedBean que retorna a soma}" />
</rich:column>
<rich:column>
<h:outputText value="#{Método do ManagedBean que retorna a média}" />
</rich:column>
</rich:subTable>
</rich:dataTable>
</a4j:outputPanel>
bobmoe
Novembro 11, 2009, 9:57pm
#4
a idéia eh justamente essa, só que em vez de c:forEach seria a4j:repeat