我需要使用Primefaces在单个XHTML页面上询问两种不同类型的确认对话框。 Primefaces展示中的当前示例非常基本。以下是我的基本示例:
<h:form id="mydatatableform">
<p:dataTable ... />
<p:column ... headerText="Column A Data">
<h:outputText ... />
</p:column>
<p:column ... headerText="Acknowledge Docs">
<p:commandButton value="Acknowledge" ...
<p:confirm ajax="true" header="Confrimation" message="Do Acknowledge you have received the docs?"/>
</p:commandButton>
</p:column>
<p:column ... headerText="Accept or Deny">
<p:commandButton value="Accept or Deny" ...
<p:confirm ajax="true" header="Confrimation" message="Do you Accept or Deny the proposal?"/>
</p:commandButton>
</p:column>
</p:dataTable>
</h:form>
<p:confirmDialog id="yesno" global="true">
<h:form>
<p:commandButton value="Yes" type="button" styleClass="ui-confirmdialog-yes" icon="ui-icon-check" />
<p:commandButton value="No" type="button" styleClass="ui-confirmdialog-no" icon="ui-icon-close" />
</h:form>
</p:confirmDialog>
好消息是这很好用。
不幸的是,对于Accept或Deny问题的对话框中的用户,不希望是否。他们希望在对话框中接受或拒绝。
我找不到任何关于如何使用两个不同的confirmDialog选项或从一个或另一个中选择的方法的好例子。
理想情况下,第二个confrimDialog看起来像这样:
<p:confirmDialog id="acceptdeny" global="true">
<h:form>
<p:commandButton value="Accept" type="button" styleClass="ui-confirmdialog-yes" icon="ui-icon-check" />
<p:commandButton value="Deny" type="button" styleClass="ui-confirmdialog-no" icon="ui-icon-close" />
</h:form>
</p:confirmDialog>
我确信我需要删除global = true并以某种方式在每个p:confirm标签中引用每个confirmDialog分隔但是我找不到一个很好的例子来做这个并且我说Primefaces展示文档不是很详细这一点。
有什么建议吗?
答案 0 :(得分:7)
请在此处查看PF文档的第120页:user guide 5.2
因此,您不会在示例的命令按钮中引用<p:confirm>
,而是显示()相关的确认对话框。
以下是我所指的文档的摘录。
<h:form>
<p:commandButton type="button" onclick="PF('cd').show()" />
<p:confirmDialog message="Are you sure about destroying the world?"
header="Initiating destroy process" severity="alert"
widgetVar="cd">
<p:commandButton value="Yes Sure" actionListener="#{buttonBean.destroyWorld}"
update="messages" oncomplete="PF('cd').hide()"/>
<p:commandButton value="Not Yet" onclick="PF('cd').hide();" type="button" />
</p:confirmDialog>
</h:form>