如何使用复选框选择模型单击某行时调用方法?带有复选框选择和行单击事件的GWT CellTable
我设置的复选框选择模型是这样的:
table.setSelectionModel(selectionModel,
DefaultSelectionEventManager.<T> createCheckboxManager(0));
如何使用复选框选择模型单击某行时调用方法?带有复选框选择和行单击事件的GWT CellTable
我设置的复选框选择模型是这样的:
table.setSelectionModel(selectionModel,
DefaultSelectionEventManager.<T> createCheckboxManager(0));
我找到了解决办法!而不是使用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;
}
}
)
);
创建你调用一个函数,
table.setSelectionModel(selectionModel, ClassName.myMethod(0));
static <T> DefaultSelectionEventManager<T> myMethod(int column) {
//call whatever functions you want
return DefaultSelectionEventManager.<T> createCheckboxManager(column);
}