GWT CellTable以编程方式选择CheckBoxCell

Noy*_*oya 5 checkbox gwt gwt-2.2-celltable

我有一个带CheckBoxCell列的cellTable.我要做的是在celltable外面有一组按钮,让用户自动检查/取消选中一组不同的元素(例如,检查所有/取消选中所有元素,但我想要更复杂的规则).

我不明白的是如何访问元素(我想通过行/列值???)并获取/设置值.

任何人都可以帮我弄清楚如何解决它?

Tho*_*yer 15

假设您想要的是将复选框绑定到"选择"并轻松地以编程方式选择一组项目(细微:选择项目,这将导致选中复选框,而不是复选框),您将使用a MultiSelectionModel.

您可以在http://gwt.google.com/samples/Showcase/Showcase.html#!CwCellTable中找到示例代码,即:

final MultiSelectionModel<ContactInfo> selectionModel = new MultiSelectionModel<ContactInfo>(
    ContactDatabase.ContactInfo.KEY_PROVIDER);
cellTable.setSelectionModel(selectionModel,
    DefaultSelectionEventManager.<ContactInfo> createCheckboxManager());
…
Column<ContactInfo, Boolean> checkColumn = new Column<ContactInfo, Boolean>(
    new CheckboxCell(true, false)) {
  @Override
  public Boolean getValue(ContactInfo object) {
    // Get the value from the selection model.
    return selectionModel.isSelected(object);
  }
};
cellTable.addColumn(checkColumn, SafeHtmlUtils.fromSafeConstant("<br/>"));
cellTable.setColumnWidth(checkColumn, 40, Unit.PX);
Run Code Online (Sandbox Code Playgroud)

然后,要选择一个项目(并自动选中其复选框),您只需执行以下操作:

selectionModel.setSelected(item, true);
Run Code Online (Sandbox Code Playgroud)

并且您可以类似地获取所有选定项目的集合selectionModel.getSelectedSet().