Update em JSF

2 respostas
R

Pessoal, tenho um gráfico em um form. Em um segundo form tenho um dialog onde eu estou lendo dois valores e ao clicar no botao estou passando a média desses valores para uma tabela do primeiro form (form onde esta o gráfico). Quando clico no botão “Registrar Média”, ele gera a média atualiza o segundo form(onde a média foi gerada) e atualiza essa média na tabela que esta no primeiro form, mas o gráfico some. Alguém sabe como fazer para atualizar o primeiro form e o gráfico não sumir?..Estou utilizando JSF + Primefaces. Já tentei atualizar apenas a tabela, mas ocorre uma FacesException dizendo que nao foi possivel identificar a tabela.

Atualmente esta dessa forma (atualizando o primeiro form inteiro)

<p:commandButton value="Registra Média" title="Registra Média"
						actionListener="#{ResultadoBacking.efetuaLeitura}"
						update=":formLeitura:telaLeitura, :formResultado " />

Tentei atualizando apenas a tabela do primeiro form e ocorre a exceção.

<p:commandButton value="Registra Média" title="Registra Média"
						actionListener="#{ResultadoBacking.efetuaLeitura}"
						update=":formLeitura:telaLeitura, :formResultado:tabSol " />

Desde já agradeço.

Abraços.

Renan.

2 Respostas

F

Provavelmente a tabela tabSol é filha de um ou mais naming containers que estão dentro do formulário formResultado.

Verifique a hierarquia dos componentes na página e monte o id qualificado da tabela com todos os naming containers.

Ex:

<h:form id="formResultado">
    
    <h:panelGrid id="panelResultado">

        <p:dataTable id="tabSol">
        ...
        </p:dataTable>

    </h:panelGrid>

</h:form>

Para essa hierarquia o id qualificado seria :formResultado:panelResultado:tabSol

L

use o firebug no firefox ou o proprio IE e dar F12 e pega o caminho completo do cara que vc quer atualizar e passa o update. . No pior caso faça um teste com @form, outra forma tb de não sumir se vc tem um widgetvar para esse cara do grafico vc pode colocar no oncomplete= “nomedowidgetvar.show()” .

Criado 17 de outubro de 2012
Ultima resposta 17 de out. de 2012
Respostas 2
Participantes 3