GWT CellTable:选中一个复选框会选中 table 中的每个 checkbox/row
GWT CellTable: Selecting one checkbox selects every checkbox/row in the table
我现在在 GWT 中有一个非常基本的 CellTable,并且使用了显示的大部分代码 here。
但是,当我切换复选框时,每一行都会突出显示。
预览:gfycat
到目前为止我确实尝试过:
Multi-/SingleSelectionMode:(我只想得到一行,所以我更喜欢SingleSelectionMode)
CheckBoxCell(true, true): -> 这正是我希望 CellTable 的外观,但是使用这些参数我无法获得带有 "getSelectedObject()" 的对象。参数的其他变体(false,false/true,false)似乎也不起作用
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变了,以后查询不到。
我现在在 GWT 中有一个非常基本的 CellTable,并且使用了显示的大部分代码 here。
但是,当我切换复选框时,每一行都会突出显示。
预览:gfycat
到目前为止我确实尝试过:
Multi-/SingleSelectionMode:(我只想得到一行,所以我更喜欢SingleSelectionMode)
CheckBoxCell(true, true): -> 这正是我希望 CellTable 的外观,但是使用这些参数我无法获得带有 "getSelectedObject()" 的对象。参数的其他变体(false,false/true,false)似乎也不起作用
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()
.
但是每一行都会突出显示。
您的密钥提供者,即上述问题中的 KEY_PROVIDER
,必须为每行提供唯一且一致的密钥。例如,每一行可能有一个 "ID" 字段。
如果不止一行共享一个键,那么在选择模型中选择一个似乎与选择两者相同。如果某行的key不一致,那么当某行被选中时,因为key变了,以后查询不到。