我有一个数据表,每行都有一个命令Button,
问题是当我需要为第一个对话框打开一个对话框,然后点击另一个按钮时,我需要更新它。问题是,当我点击第二个按钮时,它关闭对话框,用户必须再次点击第二个按钮再次打开对话框!
提前感谢您的帮助,
我在这里进一步解释
答案 0 :(得分:0)
对我的知识,你可以打开任意数量的对话框,只确保你给了他们一个独特的widgetVar id:
<p:dialog widgetVar="dlg1">
<h:outputText value="Hello from first dialog"/>
</p:dialog>
<p:dialog widgetVar="dlg2">
<h:outputText value="Hello from second dialog"/>
</p:dialog>
...
<p:commandButton value="Open First" onclick="dlg1.show()"/>
<p:commandButton value="Open Second" onclick="dlg2.show()"/>
单击上面的commandButton将并行打开两个单独的对话框。
答案 1 :(得分:0)
我认为您的按钮会对包裹Naming Container
的整个Dialog
进行更新。如果你这样做,那就是你得到的。
您应该在对话框中更新包含组件内部的Container
。
示例:
不要:
<h:panelGrid id="gridContainer">
<p:dialog id="dialogComponent>
// components
</p:dialog>
</h:panelGrid>
<p:commandButton update="#{p:component('gridContainer')}"/>
做:
<h:panelGrid id="gridContainer">
<p:dialog id="dialogComponent>
<h:panelGrid id="insideContainer">
// components
</h:panelGrid>
</p:dialog>
</h:panelGrid>
<p:commandButton update="#{p:component('insideContainer')}"/>
我想你明白了。
希望它有所帮助。