使用复选框选择模型单击某行时如何调用方法?
我正在设置复选框选择模型,如下所示:
table.setSelectionModel(selectionModel,
DefaultSelectionEventManager.<T> createCheckboxManager(0));
最佳答案
我找到了解决方案!代替使用createCheckboxManager()
,使用createCustomManager()
通过参数传递扩展EventTranslator
的CheckboxEventTranslator
并进行translateSelectionEvent
方法的委派,仅拦截上级(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;
}
}
)
);