2011-04-12 50 views

回答

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; 
      } 
     } 
    ) 
); 
1

创建你调用一个函数,

table.setSelectionModel(selectionModel, ClassName.myMethod(0)); 

static <T> DefaultSelectionEventManager<T> myMethod(int column) { 
    //call whatever functions you want 
    return DefaultSelectionEventManager.<T> createCheckboxManager(column); 
} 
相关问题