具有复选框选择和行单击事件的GWT CellTable

Ita*_*tto 11 java gwt gwt-2.2-celltable

如何使用复选框选择模型单击某行时调用方法?

我正在设置复选框选择模型,如下所示:

table.setSelectionModel(selectionModel, 
      DefaultSelectionEventManager.<T> createCheckboxManager(0));
Run Code Online (Sandbox Code Playgroud)

Ita*_*tto 6

我找到了解决方案!而不是使用createCheckboxManager(),使用createCustomManager()传递参数EventTranslator,扩展CheckboxEventTranslator和执行translateSelectionEvent方法的委托,只拦截super(CheckboxEventTranslator)忽略的事件.

源代码:

table.setSelectionModel(selectionModel, 
    DefaultSelectionEventManager.createCustomManager(
        new DefaultSelectionEventManager.CheckboxEventTranslator<T>() {
            @Override
            public SelectAction translateSelectionEvent(CellPreviewEvent<T> event) {
                SelectAction action = super.translateSelectionEvent(event);
                if (action.equals(SelectAction.IGNORE)) {
                    GWT.log("DO WHAT YOU WANT!!!");
                    return SelectAction.IGNORE;
                }
                return action;
            }
        }
    )
);
Run Code Online (Sandbox Code Playgroud)