Primefaces Dialog在第二次调用时关闭

时间:2014-06-13 09:35:59

标签: primefaces dialog

我有一个数据表,每行都有一个命令Button,

问题是当我需要为第一个对话框打开一个对话框,然后点击另一个按钮时,我需要更新它。问题是,当我点击第二个按钮时,它关闭对话框,用户必须再次点击第二个按钮再次打开对话框!

提前感谢您的帮助,

我在这里进一步解释

2 个答案:

答案 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')}"/>  

我想你明白了。
希望它有所帮助。