使用复选框列创建GWT Datagrid

时间:2014-06-13 15:23:30

标签: gwt datagrid

我已经成功创建了一个包含两列的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;   

}

1 个答案:

答案 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));