当用户完成选择时(关闭时),我需要在p:selectCheckboxMenu
上触发操作。需要使用新选择的列(已完成)更新datatable
。
我找不到适合Menu的这个主要角色的ajax行为的事件名称。p:selectCheckboxMenu
的默认ajax行为更新了每个选择的数据表,这对我和用户来说很烦人,我只需要p:selectCheckboxMenu
在关闭时触发操作。
这是我的代码:
<p:selectCheckboxMenu id="colser"
scrollHeight="100"
filterMatchMode="contains"
filter="true"
label="Colonnes"
value="#{datatableBean.selectedstateOptions}">
<f:selectItems value="#{datatableBean.columner}"
var="list"
itemLabel="#{list.listname}"
itemValue="#{list.headername}"/>
<p:ajax event="close_event_name_here"
update=":form1:tabexam"
listener="#{datatableBean.updateCols()}"/>
</p:selectCheckboxMenu>
答案 0 :(得分:8)
您可以尝试p:selectCheckboxMenu的隐藏属性。
<p:selectCheckboxMenu id="colser"
scrollHeight="100"
filterMatchMode="contains"
filter="true"
label="Colonnes"
value="#{datatableBean.selectedstateOptions}"
onHide="executeOnOnhide();>
<f:selectItems value="#{datatableBean.columner}"
var="list"
itemLabel="#{list.listname}"
itemValue="#{list.headername}"/>
</p:selectCheckboxMenu>
<p:remoteCommand name="executeOnOnhide"
update=":form1:tabexam" process="@this form:colser"
action="#{datatableBean.updateCols()}"/>
primefaces文档指南的链接供您参考
http://primefaces.org/documentation.html
希望这有帮助