[RESOLVIDO] Repeat/Columns/forEach em rich datatable dinâmico
9 respostas
P
paulohbmetal
Olá pessoal, blz? Seguinte, estou montando uma ric:datatable dinâmica aqui e estou tendo problemas com umas colunas dinâmicas. Minha tabela tem cabeçalho e linhas dinâmicas. O cabeçalho já consegui fazer, sem problemas mas, estou tendo problemas ao preencher as linhas. As mesmas simplesmente não estão renderizando (sem nenhum erro). A estrutura de minha tabela é essa:
Dei uma ‘enxugada’ na tabela e deixei o essencial. Mas tipo, já testei com rich:columns, c:forEach (jstl), ui:repeat, a4j:repeat e nada de renderizar as colunas de valores. Ela somente renderiza a coluna do mês. Ah, estou usando RichFaces 3.3.2 SR1.
Pessoal, resolvido! Pesquisando aqui com um colega meu, vi que o rich:dataTable não funciona com os ‘repeats’ fora de um rich:column. Daí, depois de muito quebrar a cabeça, simplesmente substituímos o rich:dataTable por rich:dataGrid e pronto! Funfou que foi uma beleza! :lol: Então, o código ficou assim:
Eu fiz isto com a tag rich:subTable, que já é uma tag que já compõe o rich:dataTable. Ficou bem legal e é bem fácil de usar e você pode colocar as linhas de subtotais. Recomendo!
Eu usei o subTable também mas, a coluna mês deve estar fora do subTable. Se eu substituo o a4j:repeat pelo subTable ele cria o subTable abaixo do mês, sacou? Daí ‘encavala’ tudo.
Paz e bem!
C
cdurand
E como você colocou um cabeçalho em um datagrid? Usei o facet e não funcionou!
P
paulohbmetal
O cabeçalho, como é dinâmico também, montei no Managed Bean. Tipo assim:
meuDataGrid.setHeader(cabecalho);
Onde o cabeçalho é um HtmlColumnGroup. Daí, dentro do HtmlColumnGroup, adiciono os HtmlColumns da vida. Está aí o resultado.
Desculpe a ignorância… mas como você linkou esse codigo do bean na tag <rich:datagrid ?
P
paulohbmetal
Eu fiz um binding no DataGrid. Daí no componente do ManagedBean eu adicionei o cabeçalho.
Paz e bem!
F
felipe.sodre
Seguinte queria que uma das minhas colunas da tabela fosse uma lista, estou tentando fazer com o subtable mas não estou conseguindo, será que alguem poderia me ajudar?