Filtrar uma list
06/08/2012 17:23
0
Pessoal, queria fazer um processo na minha list, mas não sei se é realmente possível...

Eis a questão, tenho um sistema com um cadastro de pessoas e de links, cada pessoa pode ter vários links. No caso, eu queria que cada pessoa podesse ver uma list com seus links cadastrados, no caso, teria que ser feito um filtro na list principal, pois ela tenda a apresentar todos os links de todas as pessoas.

Eu até usei um <g:if> na list, mas o problema que assim eu so consegui passando o nome da pessoa manualmente, gostaria que pudesse configurar uma variável de forma que quando certa pessoa clica-se ela recebesse na list para que fosse filtrado.

Não sei se há outra maneira de fazer isso, mas procurei na documentação e não achei nada similar, somente o uso do <g:if>
Tags: list filtro if


0
Djonathas coloque um form no seu gsp com um input e uma variável e depois pegue o conteúdo da variável no controller e faça um filtro no domain, com um findBy, ou um criteria se preferir e retorno o resultado para a view.
06/08/2012 20:57


0
Olá, Djonathas.

Amigo, pelo que entendi você tem 2 entidades: Pessoa e Link.

Se for isso, você deve ter feito o mapeamento 1:n em Pessoa:
static hasMany = [links:Link]

Assim, para ver os links de uma certa pessoa, basta usar o seguinte método num objeto do tipo Pessoa:
pessoaX.links

Se não fez o lance do "hasMany", sem problema. Nesse caso, para pegar os links de uma pessoa basta:
Links.findAllByPessoa(pessoaX)
Nesse caso deve ter um objeto do tipo Pessoa na tua classe Link.

Espero ter ajudado.



Ainda não faz parte da comunidade???

Para se registrar, clique aqui.


Aprenda Groovy e Grails com a Formação itexto!

Newsletter Semana Groovy

Assinar

Envie seu link!


Livro de Grails


/dev/All

Os melhores blogs de TI (e em português) em um único lugar!

 
Creative Commons
RSS Grails Brasil é mantido por itexto Consultoria.
Em caso de problemas contacte Henrique Lobo Weissmann (Kico) por e-mail: kico@itexto.com.br
Todo o conteúdo presente neste site adota o Creative Commons como licença padrão.
Ver: 4.14.0
itexto