如何根据p:datatable中的复选框选择显示/隐藏p:按钮?

时间:2016-02-05 20:27:07

标签: primefaces jsf-2.2

我有一个简单的按钮,

<h:panelGroup>
    <p:commandButton rendered="#{myBean.checkboxSelected}" value="Action" />
</h:panelGroup>

设置为false并且在bean中有getter和setter,我想根据我的p:dataTable中是否选中了ANY复选框来切换其呈现的属性(或隐藏/显示它)。相反,如果我选中一个框并取消选中它,我希望能够隐藏按钮,因为没有选中复选框。

我的p:dataTable设置如下。

<p:dataTable id="someID"
    selection="#{myBean.mySelectList}"
    rowKey="#{myBean.id}">
    <p:column selectionMode="multiple" style="text-align:center"/>
....
</p:dataTable>

感谢任何帮助

1 个答案:

答案 0 :(得分:2)

简答:当选择了多个项目时更新它。

更长的答案:在每个选项上,更新服务器端的项目数(或只计算列表)并在“已呈现”中使用该值。按钮的属性(检查&gt; 0,或者执行服务器端并使用布尔值)并在每次ajax调用时更新panelgroup,或者也从服务器执行此操作。

所有简单的逻辑&#39;当使用JSF时,没什么特别的,没有什么花哨的