Eu tenho um datatable e nele tem colunas de remoção do item e alteração mas o botões não funcionam quando uso @ViewScoped e binding, eu uso o binding para alterar o rendered do panelgrid.
Ninguem sabe ?
Fala grande, blz?
Estou com o mesmo problema… Parece que ao fazer a transição de uma página pra outra, justamente qdo a visão é alterada, ele perde o valor do cara selecionado na dataTable… Se vc conseguir alguma coisa ai, me da um toke tb…
Abs,
Lessandro
Usar binding pra decidir se renderiza ou não?! Isso é possível, mas dá merda desde que o JSF existe. O grande problema é que você empurra a decisão sobre a renderização lá pro final do ciclo de vida do Faces.
Pare de fazer bindings, e no rendered coloque uma EL que avalie se é necessário renderizar ou não (esta variável pode estar num objeto @ViewScoped).
No meu caso esqueci de deixar explícito, mas o problema ocorresem a utilização de binding.
utilizo o:
<f:setPropertyActionListener value="#{cliente}" target="#{clienteController.cliente}" />
Quando entra no método que prepara por exemplo a consulta, o cliente é selecionado na página de exibição, e a variável cliente no MB está com o valor do cliente selecionado… Porém ao alterar para a página de consulta, ele fica null, exatamente pelo que disse anteriormente. Justamente por essa transição de páginas…
Se alguem souber como resolver esse problema, agradeço desde já.
Abs,
Lessandro
Qual scopo vc esta usando ? no meu caso eu mudei o escopo e passei a usar métodos bolenos para controlar o rendere e na propriedade render do componento eu chamo o metodo.
<h:panelGrid rendered="#{MBean.pngDtbRender}">
Estou utilizando o escopo de visão.
Não quero utilizar o escopo de sessão pois seria gasto uma alocação desnecessária no caso de muitos acessos simultâneos.
O que você falou de renderizar o método não resolveria o problema.
O que estou pensando é substituir a navegação de páginas, por uma DIV central e nesta renderizar a página chamada
no corpo dessa DIV.
Isso deve resolver o problema, porém não como gostaria que trabalhasse.
Abs,
Lessandro
Me paresse que você presisa salvar o estado do escopo.
Uma dica não relacionada ao problema, porque não passar parametros através da El ?
Dê um exemplo aí…
Abs,
Lessandro