Pessoal,
Tenho um selectOneMenu preenchido com valore do BD. Como pode acontecer de não ter o valor que o usuario quer nessa lista, criei um link do lado para que seja aberto um dialog e o usuario possa incluir o valor que deseja. O problema é que após a inserção no BD (está salvando direitinho) o selectOneMenu não é atualizado e não exibe o novo valor incluido pelo usuario, só exibe depois que eu executo o projeto de novo.
Alguém pode me ajudar a resolver isso?
CODIGO:
<h:selectOneMenu id="categoria" value="#{produtoController.produto.categoria}"
required="true">
<f:selectItems value="#{categoriaController.listaCategoriasAtivas}"/>
<f:converter converterId="categoriaConverter"/>
</h:selectOneMenu>
<p:spacer width="3"/>
<p:commandButton icon="ui-icon-plusthick"
alt="Incluir uma nova categoria"
title="Incluir uma nova categoria"
update=":formNovaCategoria:dadosCategoria"
oncomplete="incluirCategoriaDialog.show();"
style="width: 28px; height: 28px;"/>
<p:dialog header="Incluir nova categoria" widgetVar="incluirCategoriaDialog"
width="550" height="250"
resizable="true" closable="true" showEffect="slide" hideEffect="slide">
<h:form id="formNovaCategoria">
<h:outputText value="Campos com (*) são de preenchimento obrigatório!"
style="font-weight: bold;"/>
<p:separator/>
<h:panelGrid id="dadosCategoria" columns="2">
<h:outputLabel for="descricao" value="Descrição (*):"/>
<h:inputText id="descricao" value="#{categoriaController.categoria.descricao}"
size="40" maxlength="100"/>
<h:outputLabel for="ativo" value="Ativo:"/>
<h:selectOneMenu id="ativo" value="#{categoriaController.categoria.ativo}">
<f:selectItem itemValue="true" itemLabel="Sim"/>
<f:selectItem itemValue="false" itemLabel="Não"/>
</h:selectOneMenu>
</h:panelGrid>
<br/>
<p:commandButton image="ui-icon ui-icon-disk" value="Salvar"
update=":formPrincipal:categoria"
oncomplete="incluirCategoriaDialog.hide();"
action="#{categoriaController.salvar}"/>
<p:commandButton image="ui-icon ui-icon-arrowthickstop-1-w" value="Fechar"
onclick="incluirCategoriaDialog.hide()"/>
</h:form>
</p:dialog>
Como já falei está salvando direitinho no BD, só não atualiza depois da inclusa o selectOneMenu.
Tive que criar um outro h:form, pois os campos que estão no dialog têm, o mesmo nome dos campos do form principal.
Já alterei varias vezes a propriedade update dos buttons, mas nada.
Espero que tenha sido claro e que alguem possa me ajudar.