Eu faço da seguinte maneira:
*** Filtro ***
<s:decorate id="estadoDecoration">
<ui:define name="label">Estado</ui:define>
<h:selectOneMenu value="#{cidadeAction.filtroEstado}">
<f:selectItems value="#{listaTodosEstados}" />
<a:support event="onchange"
reRender="estadoDecoration, listaCidadesDataTable"
ajaxSingle="true"
action="#{cidadeAction.buscaCidadesPorEstado}" />
</h:selectOneMenu>
</s:decorate>
*** Data Table ***
<rich:dataTable id="listaCidadesDataTable" var="list"
value="#{listaCidadesPorEstado}"
rendered="#{listaCidadesPorEstado.size > 0}">
*** MB ***
@Out(required=false)
private Estado filtroEstado; (utilizado no filtro)
@Factory("listaCidadesPorEstado")
public void buscaCidadesPorEstado() {
listaCidadesPorEstado = em.createQuery("select c from Cidade c where
c.estado = :estado").setParameter("estado",
filtroEstado).getResultList();
}
Espero ter ajudado!
Abraços!
On 5 out, 08:44, Lelo <
lelo.pi...@gmail.com> wrote:
> Caro Assis,
>
> Primeiramente obrigado por sua disposição.
>
> Citei o caso de Cidades/Estados para exemplificar mas o filtro que quero
> fazer não é exatamente este.
>
> Tenho algo semelhante a um cadastro, mas que na verdade é uma lista de
> arquivos enviados para o sistema, e quero poder filtrar pelas empresas dos
> usuários. Há usuários de várias empresas e o administrador do sistema tem
> que poder filtrar por empresa. Ou seja a empresa do usuário que enviou o
> arquivo.
>
> Para isso quero colocar uma combo que liste as empresas para o Admin.
> Utilizar primitivos do objeto em questão é bem simples, mas ainda não
> entendi como filtrar associações.
>
> Desde já agradeço sua ajuda.
>
> Abraço!
>
> 2010/10/4 Assis Júnior <
assisp...@gmail.com>
>
>
>
> > Kra, tenta colocar o teu entity-query/list como Conversation.
>
> > No caso dos filtros do tipo estado/cidade você pode criar um componente que
> > somente faça isso e poderá reusar em vários pontos do teu sistema.
>