O comportamento de uma DataTable (JSF) não atende certas necessidades

3 respostas
T

Olá pessoal. Quero levantar aqui uma questão sobre o componente DataGride do JSF: quando é necessário mostrar uma tabela com muitos campos e muitos registros é que este componente baseado no Table html, deixa a desejar:

1- Gera quebra de linha dentro das células onde os textos tem espaço;

2- O layout do sistema fica comprometido  que a tabela se extende e o restante da tela não acompanha;

3- Quando você rola a tabela para baixo, perde as informações do cabeçalho.

A primeira questão não consegui resolver.
A segunda consegui resolver parcialmente. Coloquei um DIV com scroll envolvendo o DataTable, mas o problema é que como a tabela tem muitos registros
o usuário terá que rolar a tela até em baixo para depois rolar na vertical.
Para a terceira questão eu tentei usar o “dataScroller” do richfaces que também resolveria a segunda questão, mas na renderização da tabela perde muito desempenho, achei inviável.

Resumindo. Para sistema que estou desenvolvendo este componente não me atende como eu gostaria.
Se alguém tiver alguma solução para esta situação ficarei muito grato.

3 Respostas

lucas_carvalho100

Caso você use o JSF 2.0, de uma olhada no prime faces, talvez o datatable do prime te atenda melhor que o do jsf…

Abraços…

alabeduarte

tonkleber, como lucas_carvalho100 sugeriu, vc pode dar uma olhada nos componentes do primefaces, richfaces, etc
talvez algum deles te sirva e atenda as suas necessidades.

Independente da sua escolha, o que você pode fazer é dar uma olhada na documentação do dataTable e sobrescrever as classes css do componente e ajustar à sua maneira.

da uma olhada aqui:

Richfaces DataTable: http://livedemo.exadel.com/richfaces-demo/richfaces/dataTable.jsf;jsessionid=85CF3BF568C2CA315024E48219076483?c=dataTable&tab=usage

Primefaces DataTable: http://www.primefaces.org/showcase/ui/datatableHome.jsf

abraço

otaviojava

Somente para complementar o que os outros dois colegas falaram.
O jsf também você poder usa folha de estilo, css. para deixar o layout mais elegante.

Criado 5 de janeiro de 2011
Ultima resposta 5 de jan. de 2011
Respostas 3
Participantes 4