我现在有两个使用Primefaces的对话框。主要问题是,从“拳头”对话框中打开了第二个对话框,这在Primefaces中是有问题的,但可惜我现在不能更改它。
我想要什么:
我打开第一个“创建视图”对话框(使用NetBeans中的CRUD生成器生成),如果单击此“ +”号,则可以向该selectOneMenu元素添加新元素。我单击“ +”号,打开第二个对话框,输入新值,单击“保存”,现在仅关闭第二个对话框,保存该值,并用新值更新selectOneMenu元素。 / p>
我的问题:
现在,如果我单击第二个对话框上的“保存”按钮,则所有两个对话框都将关闭,然后返回“列表”视图。再次保存该值,但selectOneMenu元素也未更新。
代码:
这是commandButton,用于在第一个对话框中打开第二个对话框:
<p:commandButton id="CreateCategory1" actionListener="#{productCategoryController.prepareCreate(1)}" update="ProductCategoryCreateForProductCreateForm" icon="ui-icon-plus" oncomplete="PF('ProductCategoryCreateForProductCreateDialog').show()"/>
这是第二个对话框的代码:
<p:dialog id="ProductCategoryCreateDlgForProductCreate" widgetVar="ProductCategoryCreateForProductCreateDialog" modal="true" resizable="false" appendTo="@(body)" header="#{bundle.CreateProductCategoryTitle}">
<h:form id="ProductCategoryCreateForProductCreateForm">
<p:growl id="growl" life="2000" />
<h:panelGroup id="display">
<p:panelGrid columns="2" rendered="#{productCategoryController.selected != null}">
<p:outputLabel value="#{bundle.CreateProductCategoryLabel_name}" for="name" />
<p:inputText id="name" value="#{productCategoryController.selected.name}" title="#{bundle.CreateProductCategoryTitle_name}" required="true" requiredMessage="#{bundle.CreateProductCategoryRequiredMessage_name}"/>
</p:panelGrid>
<p:commandButton actionListener="#{productCategoryController.createForNewProduct}" value="#{bundle.Save}" update="display,:growl,:ProductCreateForm" oncomplete="PF('ProductCategoryCreateForProductCreateDialog').hide()"/>
<p:commandButton value="#{bundle.Cancel}" styleClass="cancelButton" onclick="PF('ProductCategoryCreateForProductCreateDialog').hide()" immediate="true"/>
</h:panelGroup>
</h:form>
</p:dialog>
我在做什么错?这有可能吗? :)
谢谢!