9

在我的项目中,我使用数据表,<p:column selectionMode="multiple" /> 以便可以使用复选框多次选择条目。

但是,当用户单击一行时,之前的所有选择都将被取消选择,并且仅选择该行。这种行为出乎意料且令人讨厌。我想在行单击时禁用 rowSelect 和 rowUnselect 的行为,但似乎我没有办法,只能破解 datatable.js 的源。

以前有人实施过吗?谢谢回答。

使用:

素面3.5

莫哈拉 2.1.6

玻璃鱼 3.1.2.2

4

2 回答 2

16

根据此功能请求,Primefaces 版本5.0.35.1现在支持此功能,只需将 rowSelectMode="checkbox" 添加到数据表即可。

文档参考(PF 5.1):

使用 rowSelectMode 选项自定义启用多选数据表的行单击的默认行为。默认值为“new”,清除先前的选择,“add”模式保持先前的选择与元键打开时通过鼠标单击选择行相同,“checkbox”模式仅允许使用复选框选择行。

于 2015-02-12T12:52:28.600 回答
0

将它放在您的页面中,可能有助于在您单击一行时停止选择。

$(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单击复选框外的复选框列本身时,需要最后一个条件 ( )。

于 2013-08-20T16:12:50.237 回答