GWT CellTable:选中一个复选框会选中 table 中的每个 checkbox/row

GWT CellTable: Selecting one checkbox selects every checkbox/row in the table

我现在在 GWT 中有一个非常基本的 CellTable,并且使用了显示的大部分代码 here

但是,当我切换复选框时,每一行都会突出显示。

预览:gfycat

到目前为止我确实尝试过:

    CellTable<Article> ArticleCt = new CellTable<Article>(KEY_PROVIDER); 

    ListHandler<Article> sortHandler = new ListHandler<Article>(Articles);
    ArticleCt.addColumnSortHandler(sortHandler);

    final MultiSelectionModel<Article> selectionModel1 = new MultiSelectionModel<Article>(KEY_PROVIDER);

    ArticleCt.setSelectionModel(selectionModel1, DefaultSelectionEventManager.<Article> createCheckboxManager());

    Column<Article, Boolean> checkColumn = new Column<Article, Boolean>(
                  new CheckboxCell(true, false)) {

      public Boolean getValue(Article object) {

      return selectionModel1.isSelected(object);
    }
    };

我只想选中选中复选框的行,这样我就可以使用 selectionMode.getSelectedObject()selectionMode.getSelectedSet().

获取特定的 row/object

但是每一行都会突出显示。

您的密钥提供者,即上述问题中的 KEY_PROVIDER,必须为每行提供唯一且一致的密钥。例如,每一行可能有一个 "ID" 字段。

如果不止一行共享一个键,那么在选择模型中选择一个似乎与选择两者相同。如果某行的key不一致,那么当某行被选中时,因为key变了,以后查询不到。