criar um dataTable com numero de colunas dinamica  XML
Índice dos Fóruns » Desenvolvimento Web
Autor Mensagem
luBS
JavaBaby

Membro desde: 10/05/2006 14:00:27
Mensagens: 86
Localização: São Paulo
Offline

Bom dia pessoal, tem como eu criar colunas dinamicas num dataTable de um jsf? do tipo, leio uma List ou array de colunas e monto ela no jsf?? isso porque eu quero usar o mesmo jsf e datatable para listar varios tipos de objetos com difenrente numero de colunas....

obrigado...

http://luizroos.blogspot.com/
BiraBoy
JavaChild
[Avatar]

Membro desde: 26/10/2006 11:52:14
Mensagens: 149
Localização: Natal
Offline

É algo que gostaria de saber também

There are only 10 kinds of people in the world: those who understand binary and those who don't.
maurenginaldo
JavaEvangelist
[Avatar]

Membro desde: 26/04/2006 18:16:41
Mensagens: 435
Localização: Belo Horizonte-MG
Offline

Oi pessoal, tive esse problema há tempos atrás, ralei a beça mais consegui resolver.
tem como vcs fazerem assim:



Porém, o problema vai aparecer quando vcs forem colocar o valor do objeto, baseado em cada atributo dele.
Fiz uma implementação igual a de cima, porém no componente <rich:columnGroup> eu criei um binding e fiz ele no java, ficando bem mais facil, mais ou menos assim:



Assim, a tabela ficou totalmente dinâmica.
Recomendo a segunda opção.

Qualquer dúvida postem aí.
Abraços,

Mauren Ginaldo Souza
______________________________________________________________
"Quis Custodie Ipsos Custodes." Quem guardará os guardiões.
[Email] [WWW] [MSN]
BiraBoy
JavaChild
[Avatar]

Membro desde: 26/10/2006 11:52:14
Mensagens: 149
Localização: Natal
Offline

Mostra como seria o código do bean pra se ter uma idéia

There are only 10 kinds of people in the world: those who understand binary and those who don't.
maurenginaldo
JavaEvangelist
[Avatar]

Membro desde: 26/04/2006 18:16:41
Mensagens: 435
Localização: Belo Horizonte-MG
Offline

Ta na mão:


Mauren Ginaldo Souza
______________________________________________________________
"Quis Custodie Ipsos Custodes." Quem guardará os guardiões.
[Email] [WWW] [MSN]
BiraBoy
JavaChild
[Avatar]

Membro desde: 26/10/2006 11:52:14
Mensagens: 149
Localização: Natal
Offline

Valeu irmão

There are only 10 kinds of people in the world: those who understand binary and those who don't.
jmeireles
Smalltalk

Membro desde: 15/09/2008 22:07:53
Mensagens: 2
Offline

Tambem estou com o mesmo problema de precisar de uma tabela com numero de colunas variaveis e experimentei o seu codigo: mas deu o seguinte erro:

java.lang.IllegalArgumentException: Component statForm:dataTable:columnTitle not instance of org.richfaces.component.UIColumnGroup

O meu codigo é o seguinte:
em XHTML
<f:facet name="header">
<rich:columnGroup id="columnTitle" binding="#{ofertasEmpregoStatReport.colunasLabel}"/>
</f:facet>

JAVA
(...)
import javax.faces.component.html.HtmlOutputText;
import javax.faces.component.html.HtmlColumn;
import org.richfaces.component.html.HtmlColumnGroup;
import javax.faces.el.ValueBinding;
import javax.faces.context.FacesContext;
(...)
public HtmlColumnGroup getColunasLabel() {
if(this.results.size()==0){
this.initColunasLabel();
}
HtmlOutputText valor;
HtmlColumn coluna;
HtmlColumnGroup colunaGrupo = new HtmlColumnGroup();
ValueBinding valorBinding;
int numColunas = this.results.get(0).size();
for(int i=0;i<numColunas;i++){
coluna = new HtmlColumn();
valor = new HtmlOutputText();
log.info("[getColunasLabel] coluna:#0 valor:#1", i,results.get(0).get(i).toString());
valorBinding = facesContext.getCurrentInstance().getApplication().createValueBinding(results.get(0).get(i).toString());
valor.setValueBinding("value", valorBinding);
//valor.setValue(results.get(0).get(i).toString());
coluna.getChildren().add(valor);
colunaGrupo.getChildren().add(coluna);
}
colunasLabel = colunaGrupo;
return colunasLabel;
}

tem alguma ideia do que poe estar mal aqui?

Grato pela sua resposta

Jose Meireles
lionels
Thread.start()
[Avatar]

Membro desde: 23/05/2007 23:36:38
Mensagens: 28
Offline

NAO SEI SE ALGUEM AINDA ACOMPANHA ESTE POST MAS VAI AI UMA SOLUCAO
DA PRA USAR O COMPONENTE DO TOMAHAWK O T:DATATABLE E O T:COLUMNS
O T:COLUMNS FUNCIONA COMO QUALQUER DATATABLE
[Email] [MSN]
jmeireles
Smalltalk

Membro desde: 15/09/2008 22:07:53
Mensagens: 2
Offline

Agradeço a resposta, mas acabei por abandonar esta abordagem. estou a criar este dinamismo dentro do das paginas xml usando a tag <c:forEach ...
klayrocha
Thread.start()
[Avatar]

Membro desde: 06/04/2009 08:06:39
Mensagens: 42
Offline

Alguém sabe como resolver os erros apresentados anteriormente ?

Na verdade não estou entendendo como implementar, teria como me da um exemplo mais completo ?

This message was edited 1 time. Last update was at 16/04/2009 07:43:28

klayrocha
Thread.start()
[Avatar]

Membro desde: 06/04/2009 08:06:39
Mensagens: 42
Offline

jmeireles wrote:Agradeço a resposta, mas acabei por abandonar esta abordagem. estou a criar este dinamismo dentro do das paginas xml usando a tag <c:forEach ...


Mas como faria para colocar as colunas e os valores dinâmicos ?
tyemy
Entusiasta Java
[Avatar]

Membro desde: 02/01/2009 11:13:15
Mensagens: 17
Offline

.

This message was edited 1 time. Last update was at 19/01/2011 18:18:19

[MSN]
carlos.scuna
Debugger
[Avatar]

Membro desde: 06/08/2006 23:29:57
Mensagens: 53
Offline

Muito mais fácil utilizar o rich:columns do RichFaces:




att
caioroma7
Thread.start()

Membro desde: 18/10/2010 13:02:47
Mensagens: 39
Offline

pessoal, nao sei se alguem ainda entra nesse tópico...estou com um problema "parecido" com o de vocês e ando procurando uma solução na internet!
tenho uma tabela e um botão escrito "adicionar coluna"...cada vez q o usuário clicar nesse botão, uma coluna é adicionada na tabela...

como posso fazer isso???

Nabas
Entusiasta Java
[Avatar]

Membro desde: 05/12/2006 10:13:51
Mensagens: 20
Offline

olá pessoal,
carlos.scuna e demais amigos, estou com este problema das colunas e percebo que sua solução resolveria meu caso, mas não entendi direito como ficaria esse objeto results e o objeto colunas.
vamos supor que eu tenha que fazer carros vendidos por ano.. e que as colunas variaveis seriam os anos.

Como ficaria os objetos(result e colunas) pra que este columngroup faça este vinculo corretamente.

Desde já agradeço o pessoal que colaborar
 
Índice dos Fóruns » Desenvolvimento Web
Ir para:   
Powered by JForum 2.1.8 © JForum Team