LazyDataModel no Primefaces com Filtros em um form

423 views
Skip to first unread message

Vandson S. Lima

unread,
Nov 9, 2013, 10:47:20 PM11/9/13
to jav...@googlegroups.com
Olá pessoal, 

estou implementando uma tela que contém basicamente um formulário de busca, com três filtros (nome, endereço, especialidade) e ao clicar no botão buscar, o sistema efetua a busca com os filtros e traz o resultado em um datatable.
está tudo funcionando, porém gostaria de implementar a paginação com lazy, e andei pesquisando na net alguns exemplos, inclusive o excelente tutorial do Hebert.

Mas a dúvida que me surge antes de implementar é como eu vou fazer para que os campos do meu formulário sejam passados como filtros da consulta no método load() ?

alguém já passou por algo parecido que possa dar alguma orientação?

desde já agradeço

Vandson S. de Lima
(84) 8802-3314

Paulo sergio chagas girao

unread,
Nov 13, 2013, 8:45:50 AM11/13/13
to jav...@googlegroups.com
Deixa ver se entendi, em algum momento voce deseja saber como o LazyDataModel reconhece que aquele seu campo do formulario é um filtro ?


--
Você está recebendo esta mensagem porque se inscreveu no grupo "javasf: JavaServer Faces Group" dos Grupos do Google.
Para cancelar a inscrição neste grupo e parar de receber seus e-mails, envie um e-mail para javasf+un...@googlegroups.com.
Visite este grupo em http://groups.google.com/group/javasf.
Para ver esta discussão na web, acesse https://groups.google.com/d/msgid/javasf/CALUPj41mELmXtXVVJk64L%3DhZZJ3Q6YFU-FBJ5dYKeasWVHB3yQ%40mail.gmail.com.
Para obter mais opções, acesse https://groups.google.com/groups/opt_out.



--
Paulo Sérgio Chagas Girão
Bacharel em Sistema de Informação
Pós-Graduando em Desenvolvimento de Sistemas para Dispositivos Móveis - FA7
Analista de Sistemas - Great UFC
Telefone: (85) 9792-9891 (tim)/(85) 8786-6898 (oi)

Arthur Ferreira

unread,
Nov 13, 2013, 10:35:03 AM11/13/13
to jav...@googlegroups.com
http://www.primefaces.org/showcase/ui/datatableLazy.jsf

Você cria uma classe que extende de LazyDataModel do Primefaces. O método load possui como parâmetros tudo que você precisa para paginar, filtrar, ordenar, etc. Basta você fazer uma consulta à sua base de dados que receba estes parâmetros para realizar a filtragem.

Veja o exemplo do Showcase do Primefaces que tem tudo explicadinho.

Arthur Franco Ferreira 
Analista Desenvolvedor Web Java (Sênior) e .NET (Pleno)
Licenciado em Computação pela UNILASALLE-RJ
Instrutor Caelum
http://www.linkedin.com/in/arthurferreira


2013/11/13 Paulo sergio chagas girao <paulos...@gmail.com>

João Luiz Monteiro Joaquim

unread,
Nov 13, 2013, 10:37:05 AM11/13/13
to jav...@googlegroups.com
Só complementando a informação do Arthur Ferreira, no blog do Hebert tem um exemplo de como implementar.


2013/11/13 Arthur Ferreira <arthur.f...@gmail.com>

Arthur Ferreira

unread,
Nov 13, 2013, 11:34:05 AM11/13/13
to jav...@googlegroups.com
No Showcase que eu passei também tem. A diferença é que o que o Herbert diz é quanto a paginação. O que o Vandson precisa é de filter também. E no Showcase tem exemplo de tudo: Pagination, Sorting e Filtering.

Arthur Franco Ferreira 
Analista Desenvolvedor Web Java (Sênior) e .NET (Pleno)
Licenciado em Computação pela UNILASALLE-RJ
Instrutor Caelum
http://www.linkedin.com/in/arthurferreira


2013/11/13 João Luiz Monteiro Joaquim <joaol...@gmail.com>

Vandson S. Lima

unread,
Nov 18, 2013, 4:43:48 PM11/18/13
to jav...@googlegroups.com
Pessoal, desculpem pela demora em responder é que estive ausente por conta de um tratamento de saúde.

respondendo ao @PauloSergio, isso mesmo Paulo, eu não consigo entender como passo os filtros da minha consulta que estão num <h:form> à parte do datatable para a classe LazyDataModel<T> que eu criei.

Arthur e João, eu estou tentando implementar me baseando no showcase do prime e também no post do Hebert, mas em nenhum dos casos é abordado como tratar o filtro...

o que preciso é saber exatamente se é possível colocar filtros fora do datatable ou se os filtros do metodo load() são apenas dos campos filters do dataTable.


Vandson S. de Lima
(84) 8802-3314


Alecindro Castilho

unread,
Nov 18, 2013, 7:26:47 PM11/18/13
to jav...@googlegroups.com
coloca os filtros em outro form que a do datatable. Ao submeter os filtros, faça a consulta no banco e atualize a referencia da lista de dados do datatable. De um update no datatable após a submissão do form dos filtros. Isso funciona se estiver no modo ViewScope.


Dave Fernandes

unread,
Nov 19, 2013, 8:56:30 AM11/19/13
to jav...@googlegroups.com

Vandson S. Lima

unread,
Nov 19, 2013, 7:36:32 AM11/19/13
to jav...@googlegroups.com
Alecindro, obg pela dica, mas onde entra o LazyDataModel nessa descrição que você fez?

Vandson S. de Lima
(84) 8802-3314


Alecindro Castilho

unread,
Nov 19, 2013, 11:06:36 AM11/19/13
to jav...@googlegroups.com
Vandson:

Uma das formas de fazer:

Tem uma propriedade que é um filtro.

private String filtro;

get ..
set ..

tem o load do Datatable;

dentro do load, preencha sua pesquisa com getFiltro.


Reply all
Reply to author
Forward
0 new messages