需要捕获具有基于复选框的行选择的dataTable的rowSelect事件。 代码如下:
<p:ajax event="rowSelect" listener="#{articleBean.onRowSelect}"
oncomplete="articleBean.onSelection" />
<p:ajax event="rowUnselect" listener="#{articleBean.onRowUnselect}"
oncomplete="articleBean.onSelection" />
<p:column id="name" headerText="Select" selectionMode="multiple"
style="width:18px" />
我无法理解这种行为。当我第一次单击复选框时,将调用方法“onRowSelect”。当我取消选择时,“onRowUnselect”不会被调用。而且,“onRowSelect”方法只为网格调用一次,如果我单击任何其他复选框,则事件不会被触发。我错过了什么吗?无法理解这种行为。
答案 0 :(得分:16)
当您使用带有基于复选框的行选择的dataTable时,您应该替换:
<p:ajax event="rowSelect"
<p:ajax event="rowUnselect"
以下内容:
<p:ajax event="rowSelectCheckbox"
<p:ajax event="rowUnselectCheckbox"