Alguém me ajuda com esse exemplo plz?! [JSF 2 + Primefaces]

Pessoal, não consigo entender como criar esse filtro global:

http://www.primefaces.org/showcase/ui/datatableFiltering.jsf

eu entendi tudo lá, só não entendi como ele faz o globalfilter, de onde ele busca e refina as informações.
qq ajuda é bem vinda :smiley:

esqueci de apontar aonde é o problema, ele é neste trecho de código:

<h:outputText value="Search all fields:" />  
<p:inputText id="globalFilter" onkeyup="carsTable.filter()" style="width:150px" />  

essa função do onkeyup carsTable.filter() é o q eu não encontro em lugar nenhum

Oi Andre!
Na realidade, o filtro realiza a busca na sua própria tabela, sem que haja necessidade de você implementar alguma coisa, o primefaces se encarrega disso. O que muda na realidade é o modo como você irá filtrar, no caso, o método do primefaces que você vai utilizar.

Declara no filtro o nome da variavél que está na sua lista que ele deve usar para o filtro, que é para ser exatamente o mesmo nome da coluna da sua tabela. Utilizei o filtro mas sem sucesso, ele realizava a busca e tudo ok, mas simplesmente depois zerava a minha tabela, mas aqui foi utilizado Servlet e gráficos e etc, mais chatinho, no seu caso, tudo pode ficar 100%.

Abraços.

[quote=andre.froes]esqueci de apontar aonde é o problema, ele é neste trecho de código:

<h:outputText value="Search all fields:" />  
<p:inputText id="globalFilter" onkeyup="carsTable.filter()" style="width:150px" />  

essa função do onkeyup carsTable.filter() é o q eu não encontro em lugar nenhum[/quote]

Ah mas calma, o filtro que você citou é para o <p:column>, com outro componente creio que tenha de fazer “na mão” mesmo.
Abraços.

isso que eu estou querendo saber como, porque o onkeyup ele não é feito via managedbean, repara que ele simplesmente utiliza a função filter que não encontro em lugar nenhum, mas ela é feita por ajaxengine.

descobri em partes já, o próprio Primefaces tem o suporte à função filter com id globalFilter, o que falta é dar o valor do widgetvar para o datatable, e então repassar o filtro no calor do widgetvar. Exemplo:

<p:dataTable widgetvar="minhaTabela">
<h:outputText value="Search all fields:" />    
<p:inputText id="globalFilter" onkeyup="minhaTabela.filter()" style="width:150px" />   

só que o filtro não está funcionando corretamente, ainda tem essa o.O

ngm sabe o porquê disso?? T_T

Parceiro se você retirar o filterby não funciona, eu fiz a mesma coisa que você mas deixei o filterby, está buscando normal,

você sabe como esconder o filterby para não aparecer encima de todas as colunas ?

[quote=tiagobalduino]Parceiro se você retirar o filterby não funciona, eu fiz a mesma coisa que você mas deixei o filterby, está buscando normal,

você sabe como esconder o filterby para não aparecer encima de todas as colunas ?[/quote]

Olá, não sei se já conseguiu a resposta, mas seria a seguinte, para poder esconder o input do filterBy utilize o filterStyle, ficando da seguinte forma: <p:column filterBy="#{bean.atributo}" filterStyle="display: none;" > </p:column>
Ou seja, terá que aplicar CSS para escondê-lo.

Att.