DataTable Primefaces Filter

1 resposta
F

Boa tarde amigos.
Seguinte, estou com problemas na minha datatable com filtro. Vou postar um trexo dela:

<p:dataTable id="dataTable" paginator="true"   rows="10"  value="#{pessoaBean.listaPessoas}" var="pessoa" selection="#{pessoaBean.pessoaSelecionada}" selectionMode="single" 
             rowKey="#{pessoa.cPessoa}" filteredValue="#pessoaBean.listaPessoasFiltradas}" rowsPerPageTemplate="5,10,15,20,25">
	
	<f:facet name="header">Listagem de Clientes</f:facet>
	<f:facet name="footer">Total de #{fn:length(pessoaBean.listaPessoas)} clientes</f:facet>
							
	<p:column id="pessoaColumn" filterBy="#{pessoa.cPessoa}" headerText="Pessoa" filterMatchMode="contains">  
		<h:outputText value="#{pessoa.cPessoa}" />  
	</p:column>  
			    		
	<p:column id="razaoColumn" filterBy="#{pessoa.razao}" headerText="Razão" filterMatchMode="contains">  
    	         <h:outputText value="#{pessoa.razao}" />  
        </p:column>
        				
	<p:column id="emailColumn" filterBy="#{pessoa.email}" headerText="E-Mail" filterMatchMode="contains">  
        	<h:outputText value="#{pessoa.email}" />  
        </p:column>
					
	<p:column style="width:2%">
		<f:facet name="header">Editar</f:facet>
		<p:commandButton action="#{pessoaBean.editar}" value="Editar">
			<f:setPropertyActionListener target="#{pessoaBean.pessoa}" value="#{pessoa}" />
		</p:commandButton>  
	</p:column>

</p:dataTable>

Quando clico no botão editar, os dados vão certo para minha view.
O problema é quando aplico um filtro na datatable e clico no botão editar.
Os dados não são da pessoa em que eu quero editar, são os dados de outra pessoa da lista.

Alguem ja passou por isso?

Obrigado

1 Resposta

fer.ferreira6

Nunca passei por este problema, mas talvez algum evento te ajude, veja este post:

http://forum.primefaces.org/viewtopic.php?f=3&t=15190

Acho que o evento filter pode te ajudar em algo.
Com o selection simples do dataTable funciona, agora com um button, nunca cheguei a usar.
Pode ser que a lista não esteja atualizada, tenta usar o update.

Criado 12 de julho de 2013
Ultima resposta 13 de jul. de 2013
Respostas 1
Participantes 2