使用列表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
答案 0 :(得分:3)
为避免取消选择,只需使用属性rowSelectMode="add"
(但如果您希望取消选择,则需要使用ctrl + click)
我们最终使用的解决方案是放置rowSelectMode="checkbox"
,因此只有在我点击第一列<p:column selectionMode="multiple" />
然后将听众用于事件toggleSelect
,rowSelectCheckbox
和rowUnselectCheckbox
。
来源:www.primefaces.org/docs/guide/primefaces_user_guide_5_2.pdf