在我的项目中,我使用数据表与<p:column selectionMode="multiple" />
这样就可以使用复选框多次选择条目。
但是,当用户单击某行时,将取消选择所有先前的选择,并且仅选择该行。 这种行为是意外和恼人的。 我想在行单击时禁用rowSelect和rowUnselect的行为,但似乎我无法做到但是攻击了datatable.js的源。
有没有人以前实现过这个?谢谢你回答。
使用:
primefaces 3.5
mojarra 2.1.6
glassfish 3.1.2.2
答案 0 :(得分:14)
根据此feature request,Primefaces版本 5.0.3 &amp;只需添加rowSelectMode =&#34;复选框&#34; 5.1 到数据表。
文档参考(PF 5.1):
使用rowSelectMode选项自定义行上的默认行为 单击启用多选的数据表。默认值是 &#34;新&#34;清除以前的选择,&#34;添加&#34;模式保持先前 选项与在启用metakey时通过鼠标单击选择行相同 和&#34;复选框&#34;模式允许仅使用复选框进行行选择。
答案 1 :(得分: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
)。