我有一个对象列表(让我们将每个对象称为记录对象),通过一个<p:datatable>
组件显示。每条记录都有一个删除按钮列。
当用户单击记录的删除按钮<p:confirmDialog>
时,会显示 a,要求用户确认。我想要的是在相应的情况下自定义confirmDialog的内容(例如显示/不显示关于记录属性值的复选框, fe if record.isPersonal, show the checkbox, else not
。
不幸的是,这似乎不起作用,因为如果第一个记录满足条件,则始终显示复选框,如果不满足条件,则相反。经过一番研究,我发现尤其是在之前的Primefaces 版本中,他们曾经使用“JS 方式”(创建两个单独的确认对话框并按比例使用PF('widgeName').show()
,但我想知道Primefaces 7.0 版本中是否存在任何开箱即用的解决方案我通过<p:confirm>标签或其他东西使用它。下面的代码示例:
<p:dataTable id="recordsTable" lazy="true" value="#{myBean.myList.records}" var="record...">
<p:column styleClass="deleteColumn">
<p:commandButton ...>
<p:confirm .../>
</p:commandButton>
<p:confirmDialog widgetVar="delete_record_dialog" global="true" showEffect="fade" hideEffect="fade">
<p:selectBooleanCheckbox
rendered="#{record.isPersonal}"
....>
</p:selectBooleanCheckbox>
<p:commandButton value="#{msg.yes}" type="button"
styleClass="ui-confirmdialog-yes" icon="pi pi-check"
/>
<p:commandButton value="#{msg.no}" type="button" styleClass="ui-confirmdialog-no"
icon="pi pi-times"
/>
</p:confirmDialog>
</p:column>
</p:dataTable>
提前致谢!