在我的项目中,我使用<p:column selectionMode="multiple" />
的datatable这样可以使用复选框多次选择条目。
但是,当用户单击一行时,之前的所有选择都将取消选中,只选中该行。这种行为出乎意料,令人讨厌。我想禁用行点击rowSelect和rowUnselect的行为,但似乎我没有办法,但黑客datatable.js的来源。
以前有人实现过这个吗?谢谢你的回答。
使用: 3.5 primefaces银鲈2.1.6
glassfish 3.1.2.2根据此功能请求,此功能现在在Primefaces版本5.0.3 &5.1只需在数据表中添加rowSelectMode="checkbox"。
文档参考(PF 5.1):
使用rowSelectMode选项自定义行上的默认行为单击已启用多选功能的数据表对应的。默认值为"new"模式清除以前的选择,"add"模式保留以前的选择选择相同的选择一行用鼠标点击时,我采取了而"checkbox"模式只允许使用复选框进行行选择。
把它放在你的页面中,当你点击一行时可能有助于停止选择
$(document).ready(
function() {
$("tr td").click(function(event) {
if (!$(this).find("div").hasClass("ui-chkbox")
|| $(this).find("div").find("div").hasClass("ui-state-disabled")
|| this == event.target) {
event.stopPropagation();
}
});
});
最后一个条件(this == event.target
)是在单击复选框外的复选框列本身时需要的。