Galera, seguinte. Possuo duas opções, uma para inserir o tipo de telefone e outra para inserir o tipo de e-mail.
Ambas inserem corretamente no banco de dados, porém, a do telefone já atualiza o selectOneMenu mas a da email não, somente quando atualiza a página.
Acredito que seja o update que esteja errado, porém, é o mesmo para ambos codigos, eles são basicamente iguais, a unica coisa que muda é o bean deles.
[code]<p:column style=“border: 0px; float: left;”>
<p:outputLabel>Tipo</p:outputLabel>
<p:selectOneMenu value="#{EmailService.emailTipo.id}" >
<f:selectItems value="#{EmailTipoService.emailsTipo}" />
</p:selectOneMenu>
<p:commandButton id="showDialogEmail" type="button" icon="ui-icon-circle-plus" onclick="dialogEmail.show()" style="left: 10px; font-size: 12px !important; "/>
<h:form id="formEmail" >
<p:dialog header="Tipo de Email" widgetVar="dialogEmail" resizable="false" >
<h:panelGrid columns="2" style="margin-bottom:10px" >
<h:outputLabel for="tipoEmail" value="Tipo: " />
<p:inputText id="tipoEmail" value="#{EmailTipoService.emailTipo.tipo}"/>
</h:panelGrid>
<p:commandButton value="Gravar" action="#{EmailTipoService.gravarEmailTipo}" process="@form" update=":accordioncontatos" oncomplete="dialogEmail.hide()" />
</p:dialog>
</h:form>
</p:column>[/code]
[code]<p:column style=“border: 0px;” >
<p:outputLabel>Tipo</p:outputLabel>
<p:selectOneMenu value="#{TelefoneService.telefonetipo.id}" >
<f:selectItems value="#{TelefoneTipoService.telefonesTipo}" />
</p:selectOneMenu>
<p:commandButton id="showDialogTelefone" type="button" icon="ui-icon-circle-plus" onclick="dialogTelefone.show()" style="left: 10px; font-size: 12px !important; "/>
<p:dialog header="Tipo de Telefone" widgetVar="dialogTelefone" resizable="false">
<h:form id="formtipotelefone">
<h:panelGrid columns="2" style="margin-bottom:10px" >
<h:outputLabel for="tipo" value="Tipo: " />
<p:inputText id="tipo" value="#{TelefoneTipoService.telefoneTipo.tipo}" immediate="true" />
</h:panelGrid>
<p:commandButton value="Gravar" action="#{TelefoneTipoService.gravarTipoTelefone}" process="@form" update=":accordioncontatos" oncomplete="dialogTelefone.hide()" />
</h:form>
</p:dialog>
</p:column>[/code]
Não entendi muito bem essa questão do update. Nos exemplos do primefaces, ele não utiliza ‘:’. Nesse caso, se eu tirar o ‘:’ dá erro. Alguns casos, é necessario colocar a sequencia :primeiro:segundo:terceiro até funcionar. Eu estou conseguindo fazer funciona no chute, mas pra mim que seria apenas colocar o id e pronto.
Procurei uma explicação a respeito mas não encontrei ainda. Caso alguém tiver um link, ou quiser explicar, agradeço.
