[Logo] Neo Framework Forum
  [Search] Busca   [Recent Topics] Tópicos Recentes   [Members]  Lista de Usuários   [Groups] De volta para a página principal 
[Register] Registrar / 
[Login] Entrar 
Filtro  XML
Índice dos Fóruns -> Dúvidas
Autor Mensagem
brunoefa
Equipe

Membro desde: 06/06/2007 16:33:17
Mensagens: 6
Localização: Belo Horizonte
Offline

Olá,

Eu gostaria de saber como faço com que um filtro consulte através de um determinado campo (nome por exemeplo) depois de já ter inserido o campo
ncessário no arquivo jsp de listagem.
Code:
<t:property name="Nome"/>
Obrigado.

brunoefa...
[Email] [WWW] [MSN]
pedro.goncalves
Equipe
[Avatar]
Membro desde: 17/04/2007 16:12:20
Mensagens: 539
Localização: Belo Horizonte - MG
Offline

Bruno, você diz é para filtrar os resultados da listagem do crud?

Pedro Gonçalves
http://pedrogoncalves.com.br
[Email] [WWW] [MSN]
brunoefa
Equipe

Membro desde: 06/06/2007 16:33:17
Mensagens: 6
Localização: Belo Horizonte
Offline

Justamente Pedro, apenas uma pesquisa simples por nome. Caso o usuário não preencha o campo, o filtro retorna todos os registros existentes.

Valeu.

brunoefa...
[Email] [WWW] [MSN]
pedro.goncalves
Equipe
[Avatar]
Membro desde: 17/04/2007 16:12:20
Mensagens: 539
Localização: Belo Horizonte - MG
Offline

Ok..

Imagine que você tem o bean de Pessoa e tem a propriedade nome ok?

Dentro do seu PessoaCrud, você deve sobrescrever o método updateListagemQuery

Code:
 public void updateListagemQuery(QueryBuilder<Pessoa> query, FiltroListagem filtro) { }
 


Primeiro Você tem que ativar o seu filtro no crudController..

Imagine que tem PessoaCrud, e você cria assim a classe:

Code:
 public class PessoaCrud extends CrudController<PessoaFiltro, Pessoa, Pessoa> {
 


O primeiro parâmetro do generics do crudController é o bean que representa o filtro do seu crud. No seu caso é PessoaFiltro.

No bean PessoaFiltro tem que ter uma propriedade nome, com um getter e um setter nele..

Ai.. no seu DAO no método updateListagem, você faz assim:

Code:
 public void updateListagemQuery(QueryBuilder<Pessoa> query, FiltroListagem filtro) {
 PessoaFiltro pessoaFiltro = (PessoaFiltro) filtro;
  }
 


ou

Code:
 public void updateListagemQuery(QueryBuilder<Pessoa> query, PessoaFiltro filtro) {
 
  }
 


e coloca o parametro do filtro na cláusula where assim:

Code:
 public void updateListagemQuery(QueryBuilder<Pessoa> query, PessoaFiltro filtro) {
       query.whereLikeIgnoreAll("pessoa.nome", filtro.getNome());
  }
 


Bom.. é isso.. dá uma lida na documentação para maiores esclarecimentos sobre as queries.. Está no capítulo sobre a integração com o hibernate..

Link: http://www.neoframework.org/dist/documentacao/index.html

[]'s







Pedro Gonçalves
http://pedrogoncalves.com.br
[Email] [WWW] [MSN]
brunoefa
Equipe

Membro desde: 06/06/2007 16:33:17
Mensagens: 6
Localização: Belo Horizonte
Offline

Valeu Pedro!!!

té mais.

brunoefa...
[Email] [WWW] [MSN]
tlink.k
Equipe
[Avatar]

Membro desde: 28/09/2007 16:06:19
Mensagens: 12
Offline

Ola
gostaria de saber a alteracao a se fazer para filtragem do id/codigo... pois eu só consegui filtrar com strings...

por exemplo: filtragem por nome

Code:
 @Override
     public void updateListagemQuery(QueryBuilder<Estado> query, FiltroListagem filtro) {
         EstadoFiltro estadofiltro = (EstadoFiltro) filtro;
         query.whereLikeIgnoreAll("estado.nome", estadofiltro.getNome());
     }
 


obrigado
pedro.goncalves
Equipe
[Avatar]
Membro desde: 17/04/2007 16:12:20
Mensagens: 539
Localização: Belo Horizonte - MG
Offline

tlink, você baixou a aplicação demo???

nela mostra como fazer isso que você quer.

Pedro Gonçalves
http://pedrogoncalves.com.br
[Email] [WWW] [MSN]
 
Índice dos Fóruns -> Dúvidas
Ir para:   
Powered by JForum 2.1.7 © JForum Team