2

所以我有这段代码在 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 的实例是当我选择另一条记录时,但取消选择一条记录不会调用此方法。

有什么帮助吗?

4

1 回答 1

3

我猜你忘了添加 DefaultSelectionEventManager 。

更改此行

cellTable.setSelectionModel(selectionModel);

cellTable.setSelectionModel(selectionModel,
                     DefaultSelectionEventManager.<T> createCheckboxManager());
于 2013-04-09T06:35:10.303 回答