[RESOLVIDO] Primefaces dataTable filter event

Galera,

Atualizei a versão do meu primefaces para o 3.2 e, para minha surpresa, o atributo filterEvent não existe mais.

Antes eu fazia algo tipo assim:

<p:dataTable id="lista" var="cliente" value="#{clienteMB.lista}">
  ...
  <p:column filterBy="#{cliente.nome}" filterEvent="change">
    ...
  </p:column>
  ...
</p:dataTable>

Porém agora o filterEvent não existe mais e, pelo que testei, o componente assume sempre onKeyUp. Só que uma tabela específica já contem centenas de milhares de registros e fica impraticável a filtragem ser reprocessada a cada caractere digitado no campo de filtro. O preferível seria que o filtro só fosse reprocessado após o campo perder o foco, ou especificamente com a tecla tab, ou algo do tipo.

Vi algumas sugestões utilizando jQuery: http://ovaraksin.blogspot.com.br/2011/04/how-to-filter-pdatatable-on-enter-event.html

Mas queria saber se tem alguma outra forma (talvez mais simples) de resolver isso.

Uma alternativa seria retirar o atributo filterBy e criar seu próprio filtro e por exemplo colocar no topo da pagina com um botão buscar, quando o usuário clicar no botão buscar , buscas as informações no banco e monta a tabela novamente de acor como resultado da busca.

Lucas, valeu a dica. Já considerei essa possibilidade, mas meu cliente se acostumou com os filtros na dataTable, achou mais “bonitinho” e para ele é extremamente importante ocupar pouco espaço em tela. Por esses motivos, queria que os filtros da dataTable atendessem a minha necessidade.

Então, a dúvida continua em aberto.

Resolvido galera!!

http://www.coderanch.com/t/582700/JSF/java/Primefaces-datatable-filter-event

Muito bom!

[quote=adornes]Resolvido galera!!

http://www.coderanch.com/t/582700/JSF/java/Primefaces-datatable-filter-event[/quote]

Muito bom!! Valeu. A dica me ajudou!!