GWT:SelectionChangeEvent.Handler未检测到取消选择CellTable上的行

时间:2013-04-09 05:57:58

标签: java gwt celltable

所以我有这段代码在GWT Showcase上几乎完全相同

selectionModel = new SingleSelectionModel<T>(keyProvider);
cellTable.setSelectionModel(selectionModel);

selectionModel.addSelectionChangeHandler(new SelectionChangeEvent.Handler() {
    public void onSelectionChange(SelectionChangeEvent event) {
        selectedRow = ((SingleSelectionModel<T>).selectionModel)
                .getSelectedObject();

    });

Column<T, Boolean> checkColumn = new Column<T, Boolean>(new CheckboxCell(true, false)) {
            @Override
            public Boolean getValue(T object) {
                return cellTable.getSelectionModel().isSelected(object);
            }
        };
        cellTable.addColumn(checkColumn, SafeHtmlUtils.fromSafeConstant("<br/>"));

问题是,当我取消选中复选框时,SelectionChangeEvent不会处理它。 调用onSelectionChange的唯一实例是当我选择另一条记录时,但取消选择一条记录不会调用此方法。

任何帮助?

1 个答案:

答案 0 :(得分:3)

我猜你忘了添加DefaultSelectionEventManager

更改此行

cellTable.setSelectionModel(selectionModel);

cellTable.setSelectionModel(selectionModel,
                     DefaultSelectionEventManager.<T> createCheckboxManager());