在 PrimeFaces 数据表中选择单行时如何避免取消选择?
How to avoid unselection when selecting a single row in PrimeFaces datatable?
以列表people
=["Person 1"、"Person 2"、"Person 3"]为例,还有一个名为selectedPeople
的空列表,执行以下步骤必须完成:
1) Select 一行。结果:"Person 2" 添加到 selectedPeople
。
列表selectedPeople
=["Person 2"]
2) Select 另一行。结果:"Person 3" 添加到 selectedPeople
。
列表selectedPeople
=["Person 2","Person 3"]
3) Select 只有其中一行。结果:"Person 2" 从 selectedPeople
中删除。
列表selectedPeople
=["Person 3"]
问题:PrimeFaces dataTable
的默认行为是取消select 其他 selected 行,如果我单击一个他们中的。告诉用户在 table.
中对 select 条记录按住 Ctrl 或 Shift 键并不是最好的做法
到目前为止我所做的:http://pastebin.com/qHvnZPiY
要避免取消选择,只需使用属性rowSelectMode="add"
(但如果要取消选择,则需要使用ctrl+click)
我们最后使用的解决方案是把rowSelectMode="checkbox"
所以只有当我点击第一列时才会选择该行<p:column selectionMode="multiple" />
然后将侦听器用于事件 toggleSelect
、rowSelectCheckbox
和 rowUnselectCheckbox
。
来源:www.primefaces.org/docs/guide/primefaces_user_guide_5_2.pdf
以列表people
=["Person 1"、"Person 2"、"Person 3"]为例,还有一个名为selectedPeople
的空列表,执行以下步骤必须完成:
1) Select 一行。结果:"Person 2" 添加到 selectedPeople
。
列表selectedPeople
=["Person 2"]
2) Select 另一行。结果:"Person 3" 添加到 selectedPeople
。
列表selectedPeople
=["Person 2","Person 3"]
3) Select 只有其中一行。结果:"Person 2" 从 selectedPeople
中删除。
列表selectedPeople
=["Person 3"]
问题:PrimeFaces dataTable
的默认行为是取消select 其他 selected 行,如果我单击一个他们中的。告诉用户在 table.
到目前为止我所做的:http://pastebin.com/qHvnZPiY
要避免取消选择,只需使用属性rowSelectMode="add"
(但如果要取消选择,则需要使用ctrl+click)
我们最后使用的解决方案是把rowSelectMode="checkbox"
所以只有当我点击第一列时才会选择该行<p:column selectionMode="multiple" />
然后将侦听器用于事件 toggleSelect
、rowSelectCheckbox
和 rowUnselectCheckbox
。
来源:www.primefaces.org/docs/guide/primefaces_user_guide_5_2.pdf