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 に答える