Olá! Preciso gravar dados de um formulário no BD e conforme eu vou gravando, mostre os dados no dataTable. Tentei usar o update do ajax e não funcionou (acredito que seja porque meu MB é ViewScoped). Funciona apenas quando atualizo a página, e não dinamicamente. Este é meu código:
<h:form>
<h:outputLabel value="Indicador: " />
<h:inputText id="indicador" value="#{cadastraIndicadorMB.indicador.descricaoindicador}">
<p:ajax event="blur" update="indicador" />
</h:inputText>
<h:commandButton value="Salvar">
<p:ajax event="click" listener="#{cadastraIndicadorMB.salvarIndicador()}" update="indicador"/>
<p:ajax event="click" update=":formIndicador:tableIndicador" />
</h:commandButton>
</h:form>
<h:form id="formIndicador">
<h:dataTable id="tableIndicador" var="indicador" value="#{cadastraIndicadorMB.indicadorLista}">
<h:column>
<f:facet name="header">
<h:outputText value="Código: "/>
</f:facet>
<h:commandLink>
<h:outputText value="#{indicador.idindicador}"/>
<f:setPropertyActionListener value="#{indicador}" target="#{cadastraIndicadorMB.indicador}"/>
</h:commandLink>
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="Indicador: "/>
</f:facet>
<h:commandLink>
<h:outputText value="#{indicador.descricaoindicador}"/>
<f:setPropertyActionListener value="#{indicador}" target="#{cadastraIndicadorMB.indicador}"/>
</h:commandLink>
</h:column>
</h:dataTable>
</h:form>
Abraços!