Pessoal, quem puder ajudar eu agradeço ^^.
Estou com um aplicativo funcionando normalzin, todos os botões funcionam ok, as funcionalidades estão ok, etc… ok. Só que: Ao adicionar um item de 1 dialog, ele não atualiza o datatable que está em outro dialog, porém, eu adicionei um botão para fazer o update local no datatable, e ele da refresh e lá está o registro recém adicionado.
eis o trecho relevante:
<p:dialog widgetVar="dialog" closable="false" hideEffect="fold" onCloseUpdate="lista" resizable="false" modal="false" header="Informações" width="450">
<h:form id="formOs">
<h:panelGrid columns="2" id="panel" width="435" columnClasses="colunaTitulo, colunaConteudo">
<h:outputLabel for="dialogNumOs" value="Num O.S.:" style="width: 100px;" />
<h:outputText id="dialogNumOs" value="#{controle.os.numOs}" style="width: 335px;" />
<h:outputLabel for="dialogAssunto" value="Assunto:" />
<h:outputText id="dialogAssunto" value="#{controle.os.assunto}" />
<h:outputLabel for="dialogResponsavel" value="Responsável:" />
<h:outputText id="dialogResponsavel" value="#{controle.os.funFuncionario.nomeGuerra}" />
<h:outputLabel for="dialogData" value="Data:" />
<h:outputText id="dialogData" value="#{controle.os.data}">
<f:convertDateTime pattern="dd/MM/yyyy"/>
</h:outputText>
<h:outputLabel for="dialogStatus" value="Status:" />
<h:outputText id="dialogStatus" value="#{controle.os.status}" />
<h:outputLabel for="dialogTipoServico" value="Tipo do Serviço:"/>
<h:outputText id="dialogTipoServico" value="#{controle.os.tipoServico}" />
<h:outputLabel for="dialogDescricao" value="Descrição:" />
<h:outputText id="dialogDescricao" value="#{controle.os.descricao}" />
</h:panelGrid>
<h:panelGroup>
<p:commandButton value="Finalizar O.S." actionListener="#{controle.finalizaOS}" ajax="true"/>
<p:commandButton value="Sair" onclick="dialog.hide();" update="lista"/>
</h:panelGroup>
<br/><br/>
<p:panel header="Histórico" id="idPanelForm">
<h:form id="formHistorico">
<p:dataTable id="dtHistorico" var="regH"
rendered="#{not empty controle.listHistoricoOS}"
value="#{controle.listHistoricoOS}"
emptyMessage="Sem histórico registrado">
<p:column style="width: 65px;">
<f:facet name="header">
<h:outputText value="Data"/>
</f:facet>
<h:outputText value="#{regH.data}">
<f:convertDateTime pattern="dd/MM/yyyy"/>
</h:outputText>
</p:column>
<p:column>
<f:facet name="header">
<h:outputText value="Observação"/>
</f:facet>
<h:outputText value="#{regH.observacao}"/>
</p:column>
</p:dataTable>
<p:commandButton value="Adicionar Histórico" onclick="dlgHistorico.show();" ajax="true"/>
<p:commandButton value="Atualizar Histórico" update="dtHistorico" ajax="true"/>
</h:form>
</p:panel>
</h:form>
</p:dialog>
<p:dialog widgetVar="dlgHistorico" modal="false" closable="false" onCloseUpdate="dtHistorico" header="Adicionar" hideEffect="fold" width="250">
<h:form id="formAdicionaHistorico">
<h:panelGrid columns="2">
<h:outputLabel value="Histórico: " for="reg_historico"/>
<p:inputTextarea rows="3" maxHeight="60" style="width: 148px;" value="#{controle.obsHistorico}" id="reg_historico"></p:inputTextarea>
<h:outputLabel value="Data: " />
<p:calendar value="#{controle.dataHistorico}" pattern="dd/MM/yyyy"/>
</h:panelGrid>
<h:panelGroup>
<p:commandButton value="Adicionar" update="dialog:idPanelForm:formHistorico:dtHistorico" actionListener="#{controle.adicionaHistorico}" oncomplete="dlgHistorico.hide();" ajax="true"/>
<p:commandButton value="Cancela" onclick="dlgHistorico.hide();" ajax="true"/>
</h:panelGroup>
</h:form>
</p:dialog>
eu sei que o update faz essa função, mas não sei o que q eu estou perdendo aqui.
Agradeço a ajuda aí gente!! 