我已经成功创建了一个包含两列的datagrid表。复选框col和字符串col。当我按下按钮时,我想获得所选的字符串。目前,当我按下按钮时,我得到一个空的哈希集。
选择模型:
private MultiSelectionModel<String> selectionModel = new MultiSelectionModel<String>(KEY_PROVIDER);
以下是我创建列的方法
Column<String, Boolean> checkColumn =
new Column<String, Boolean>(new CheckboxCell(true, false)) {
@Override
public Boolean getValue(String object) {
// Get the value from the selection model.
return selectionModel.isSelected(object);
}
};
以下是从按钮
调用的方法public Set<String> getSelectedItems(){
Set<String> s = selectionModel.getSelectedSet();
return s;
}
答案 0 :(得分:0)
缺少两件。您需要将FieldUpdater添加到checkColumn,并且需要将其链接到复选框管理器。将T替换为您的对象:
checkColumn.setFieldUpdater(new FieldUpdater<T, Boolean>() {
@Override
public void update(int index, T object, Boolean value) {
getSelectionModel().setSelected(object, value);
dataProvider.refresh();
}
});
setSelectionModel(selectionModel, DefaultSelectionEventManager.<T> createCheckboxManager(0));