Oi pessoal , sou novo aqui e to com um problema.
quando utilizo o dialog para editar o item (dialog linha 48) faço mudanças no nome do item e na unidade, clico no botão salvar e ele faz as modificações no banco de forma correta
porém, não atualiza a tabela (itemTab que esta no dialogItem linha 26) com as modificações que foram feitas, não entendo o que acontece pois eu faço o update no botão.
quando faço a mudança na subcategoria ou quando utilizo o dialog para criar um novo item (linha 81) ele faz tudo certinho e atualiza.
alguém pode me ajudar a entender isso?
<ui:composition xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:p="http://primefaces.prime.com.tr/ui"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core">
<p:dialog id="dialogItem" header="Item" widgetVar="dlgItem" position="center" width="480" resizable="false" modal="true">
<h:form prependId="false">
<p:outputPanel id="pItem">
<h:panelGrid columns="2" columnClasses="coluna_label">
<h:outputText value="Categoria: *" />
<h:selectOneMenu value="#{cadastroItemController.categoriaItem}" style="width: auto; text-transform: uppercase">
<f:selectItem itemLabel="Categoria" itemValue="" />
<f:selectItems value="#{cadastroItemController.listaCategoriaItens}" />
<p:ajax update="panelItemSubcategoria itemTab" />
</h:selectOneMenu>
</h:panelGrid>
<h:panelGrid id="panelItemSubcategoria" columns="2" columnClasses="coluna_label">
<h:outputText value="Subcategoria: *" />
<h:selectOneMenu value="#{cadastroItemController.subcategoriaItem}" style="width: auto; text-transform: uppercase">
<f:selectItem itemLabel="Subcategoria" itemValue="" />
<f:selectItems value="#{cadastroItemController.listaSubcategoriaItens}" />
<p:ajax update="itemTab" />
</h:selectOneMenu>
</h:panelGrid><br />
<center>
<p:dataTable id="itemTab" var="item" value="#{cadastroItemController.subcategoria.itemList}" selectionMode="single"
style="width: 430px" selection="#{cadastroItemController.item}">
<p:column style="text-align: center">
<f:facet name="header">
<h:outputText value="Descrição" />
</f:facet>
<h:outputText value="#{item.descricao}" />
</p:column>
<p:column style="text-align: center">
<f:facet name="header">
<h:outputText value="Unidade" />
</f:facet>
<h:outputText value="#{item.unidade.descricao}" style="text-transform: uppercase;" />
</p:column>
</p:dataTable><br />
<p:commandButton value="Novo" update="panelNovoItem" onclick="dlgNoItem.show()" />
<p:commandButton action="#{cadastroItemController.pegaItem()}" value="Editar" update="pEdItem" oncomplete="dlgEdItem.show()" />
</center>
</p:outputPanel>
</h:form>
</p:dialog>
<p:dialog header="Editar Item" widgetVar="dlgEdItem" position="center" width="440" resizable="false" modal="true">
<h:form prependId="false">
<p:outputPanel id="pEdItem">
<h:panelGrid columns="2" columnClasses="coluna_label">
<h:outputText value="Descrição: *" />
<p:inputText value="#{cadastroItemController.item.descricao}" required="true" size="44" maxlength="44" />
</h:panelGrid>
<h:panelGrid columns="2" columnClasses="coluna_label">
<h:outputText value="Subcategoria: *" />
<h:selectOneMenu value="#{cadastroItemController.subcategoriaItem2}" style="width: auto; text-transform: uppercase">
<f:selectItem itemLabel="Subcategoria" itemValue="" />
<f:selectItems value="#{cadastroItemController.listaDeSubcategorias}" />
<p:ajax update="categoria2" />
</h:selectOneMenu>
</h:panelGrid>
<h:panelGrid id="categoria2" columns="2" columnClasses="coluna_label">
<h:outputText value="Categoria: *" />
<p:inputText value="#{cadastroItemController.subcategoria2.categoria.descricao}" disabled="true" size="14" maxlength="44" />
</h:panelGrid>
<h:panelGrid columns="2" columnClasses="coluna_label">
<h:outputText value="Unidade: *" />
<h:selectOneMenu value="#{cadastroItemController.unidadeItem2}" style="width: auto; text-transform: uppercase">
<f:selectItem itemLabel="Unidade" itemValue="" />
<f:selectItems value="#{cadastroItemController.listaUnidadeItens}" />
</h:selectOneMenu>
</h:panelGrid><br/>
<center>
<p:commandButton value="Salvar" action="#{cadastroItemController.editaItem()}" update="mensagem itemTab pEdItem" oncomplete="dlgEdItem.hide()" />
</center>
</p:outputPanel>
</h:form>
</p:dialog>
<p:dialog header="Novo Item" widgetVar="dlgNoItem" position="center" width="460" resizable="false" modal="true">
<h:form prependId="false">
<p:outputPanel id="panelNovoItem">
<h:panelGrid columns="2" columnClasses="coluna_label">
<h:outputText value="Descrição: *" />
<p:inputText value="#{cadastroItemController.novoItem.descricao}" required="true" size="38" maxlength="44" />
</h:panelGrid>
<h:panelGrid columns="2" columnClasses="coluna_label">
<h:outputText value="Unidade: *" />
<h:selectOneMenu value="#{cadastroItemController.unidadeItem}"
style="width: auto; text-transform: uppercase;">
<f:selectItem itemLabel="Unidade" itemValue="" />
<f:selectItems value="#{cadastroItemController.listaUnidadeItens}" />
</h:selectOneMenu>
</h:panelGrid><br />
<center>
<p:commandButton value="Salvar" action="#{cadastroItemController.criaItem()}"
update="mensagem itemTab panelNovoItem" oncomplete="dlgNoItem.hide()" />
</center>
</p:outputPanel>
</h:form>
</p:dialog>
</ui:composition>