Gwt 我希望我的CheckboxCell控制每行的选定状态

Gwt 我希望我的CheckboxCell控制每行的选定状态,gwt,gwt-2.2-celltable,Gwt,Gwt 2.2 Celltable,我有一个CellTable,其中一列用CheckboxCell呈现。我想选中这些框来选择行 CheckboxCell(false,false)的默认行为非常接近我的目标-选中一行将选中复选框,取消选中一行将取消选中复选框。但是,如果单击复选框,它将取消选择任何已选择的行。更糟糕的是,当我取消选中复选框时,该行不会被取消选中。啊 我现在正在考虑编写自己的手机代码(或者搞乱SelectionModel?),但这似乎是谷歌可能一直在尝试的行为。我尝试过构造函数中的每一种值排列,但都没有用。是否有一个简

我有一个
CellTable
,其中一列用
CheckboxCell
呈现。我想选中这些框来选择行

CheckboxCell(false,false)
的默认行为非常接近我的目标-选中一行将选中复选框,取消选中一行将取消选中复选框。但是,如果单击复选框,它将取消选择任何已选择的行。更糟糕的是,当我取消选中复选框时,该行不会被取消选中。啊


我现在正在考虑编写自己的手机代码(或者搞乱SelectionModel?),但这似乎是谷歌可能一直在尝试的行为。我尝试过构造函数中的每一种值排列,但都没有用。是否有一个简单的覆盖,我可以添加到最终使我的梦想。。。一个现实?

你知道如何搜索30分钟,然后在你发布问题20秒后找到答案吗

事实证明,要释放CheckboxCell的威力,您需要传递一个
处理程序
,该处理程序可以处理复杂的情况。试一试

setSelectionModel(selectionModel, DefaultSelectionEventManager.<T> createCheckboxManager()); 
setSelectionModel(selectionModel,DefaultSelectionEventManager.createCheckboxManager());

对于您的
多选模型selectionModel
-selectionModel本身是不够的

您的CheckboxCell是否设置为false、false或true、true?我在header datagrid上实现了一个SelectAll复选框,它通过jquery触发器函数简单地选择/取消选择所有复选框。但是,当我设置为true、false和MultiSelectionModel的任何排列时,选中和未选中复选框的行为并不一致。我使用false、false-这对我来说非常违反直觉。使用(false、false)时,我的“全选”复选框不会选中/取消选中最后一行,有时是随机行。(对,对)修复了此问题;但是,在选中/取消选中复选框后,它不会保留行高亮显示。可能是时候提交一个带有GWT的bug了。FWIW:我通过
selectionModel.setSelected
方法实现了
selectall
,而不是通过“手动”点击复选框。使用(false,false),这就像一个符咒。祝你好运你说得对。我删除了jquery解决方案,并添加了一个带有CheckboxCell的自定义标题,该标题使用selectionModel执行“全选”功能。它只适用于(真、假)设置。但是,我现在发现的另一个问题是,在调用selectionModel.getSelectedSet()时,行选择(而不是单击复选框)不会返回所选的值。只有当我得到一个值时,才会单击一个复选框(或多个复选框)。您知道有没有一种方法可以在复选框选择之外捕获行选择?