【发布时间】:2019-06-14 15:43:28
【问题描述】:
我现在在 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() 获取特定的行/对象。
但是每一行都会突出显示。
【问题讨论】:
-
您的密钥提供程序中有什么?如果键不是唯一的,则选择将无法区分行。可能还想将列索引传递给
DefaultSelectionEventManager.createCheckboxManager()。 -
非常感谢!添加一个简单的增量键解决了这个问题。即使在没有 CheckboxManager 索引的情况下使用它也可以工作,但我还是添加了它。
标签: javascript java gwt