在PrimeFaces数据表中选择单行时如何避免取消选择?

时间:2015-07-29 19:27:00

标签: primefaces datatable mouseevent

使用列表people = ["人1","人2","人3"]为例,以及一个空列表名为selectedPeople,必须执行以下步骤:

1)选择一行。结果:"人2"已添加到selectedPeople

列出selectedPeople = ["人2"]

2)选择另一行。结果:"人3"已添加到selectedPeople

列出selectedPeople = ["人2","人3"]

3)仅选择其中一行。结果:"人2"已从selectedPeople移除。

列出selectedPeople = ["人3"]

问题:PrimeFaces的默认行为'如果我单击其中一个行,dataTable将取消选中其他所选行。告诉用户按住Ctrl或Shift键选择表格中的许多记录并不是最好的事情。

我到目前为止所做的事:http://pastebin.com/qHvnZPiY

1 个答案:

答案 0 :(得分:3)

为避免取消选择,只需使用属性rowSelectMode="add"(但如果您希望取消选择,则需要使用ctrl + click)

我们最终使用的解决方案是放置rowSelectMode="checkbox",因此只有在我点击第一列<p:column selectionMode="multiple" />

时才选择该行

然后将听众用于事件toggleSelectrowSelectCheckboxrowUnselectCheckbox

来源:www.primefaces.org/docs/guide/primefaces_user_guide_5_2.pdf