我正在尝试创建一个CellTable,它具有一列带有一些文本和一个复选框的复选框,该复选框将用作全选复选框(请参见下图,“ cb”是复选框)。目前,我正在使用派生自Header的类,并覆盖它的render方法来输出文本和复选框。我覆盖了onBrowserEvent(),但是它只是给了我onChange事件,除了复选框不能正确运行之外,它可以正常工作。有人对此有任何想法吗? 通用标签

该复选框存在的问题是,如果未选中该复选框,则即使它的“ checked”属性第一次为true,也必须单击两次以显示该复选标记(至少在Chrome上如此)。一键取消选中它正确。

这是一些代码:

设置CellTable列: 通用标签

我的全选标题: 通用标签

有帮助吗?

解决方案

看起来每当渲染标题时,您都在渲染一个未选中的复选框,这可能会在单元格表重新渲染时清除选择状态。

尝试存储选中的状态并使用状态呈现复选框。看起来您与allSelected的距离已经到一半了,您只是没有使用它。

编辑,这是我刚刚为Zanata编写的有效实施方式(请参见 SearchResultsView.java )。已实现HasValue接口,以便可以以标准方式处理值更改事件。我没有重写render方法,如果要这样做,请确保使用getValue()来确定是渲染选中的复选框还是未选中的复选框。选择/取消选择逻辑在关联的presenter类中处理(请参见 SearchResultsPresenter.java )。 通用标签

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top