Eu tenho uma página que possui um dataTable com uma lista de dados, e também possuo uma busca para mudar os valores desse dataTable quando necessáio.
Quando eu efetuo a busca, ela vem normalmente. O problema é quando eu efetuo a busca e acesso o link de edição referente a um item desse resultado da busca: na página de edição, os dados que aparecem são de um outro item, por exemplo:
quando eu acesso a página que tem a busca e o dataTable com os dados listados, mas sem efetuar a busca, aparecem os dados:
Nome
A…editar
B…editar
C…editar
Quando eu efetuo uma busca, suponha que a listagem do dataTable venha:
Nome
B…editar
C…editar
Se eu acessar o editar do B após a busca, ele carrega os dados no A e se eu acesso os dados do C após a busca, ele carrega os dados do B. Porém quando eu acesso os dados de qualquer item da lista sem efetuar nenhuma busca eles trazem os dados corretamente.
Nesse meu bean eu estou usando o escopo do tipo request, então não tem nada a ver com sessão.
O que pode estar acontecendo?
Eu não acho que o problema seja no meu bean, pois eu fiz um teste e vi que o valor que vem do param do <h:commandLink> já vai do item errado para o bean.
dê uma debugada e verifique se quando você vai editar um item resultante de uma busca, a sua lista não esta sendo carregada novamente.
Pode ser que seu list está sendo refeito e os objetos mudando de lugar.
Posta aqui o seu bean. Tive o mesmo pensamento que o maureginaldo.
Pelo que você está descrevendo, a sua lista está sendo carregada novamente.
E isso está fazendo com que sua aplicação fique perdida.