具有复选框选择和行单击事件的GWT CellTable
如何使用复选框选择模型单击某行时调用方法?
我正在设置复选框选择模型,如下所示:
table.setSelectionModel(selectionModel, DefaultSelectionEventManager. createCheckboxManager(0));
我找到了解决方案! 而不是使用createCheckboxManager()
,使用createCustomManager()
传递一个EventTranslator
来扩展CheckboxEventTranslator
并执行translateSelectionEvent
方法的委托,只截取super忽略的事件( CheckboxEventTranslator
)。
源代码:
table.setSelectionModel(selectionModel, DefaultSelectionEventManager.createCustomManager( new DefaultSelectionEventManager.CheckboxEventTranslator() { @Override public SelectAction translateSelectionEvent(CellPreviewEvent 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 DefaultSelectionEventManager myMethod(int column) { //call whatever functions you want return DefaultSelectionEventManager. createCheckboxManager(column); }