具有复选框选择和行单击事件的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); }