2011-04-12 14 views

Respuesta

6

he encontrado una solución! En lugar de usar createCheckboxManager(), use createCustomManager() pasando por argumento un EventTranslator que amplía el CheckboxEventTranslator y realice una delegación del método translateSelectionEvent, interceptando solo los eventos ignorados por el super (CheckboxEventTranslator).

El código fuente:

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

Crear una función que se llama,

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

static <T> DefaultSelectionEventManager<T> myMethod(int column) { 
    //call whatever functions you want 
    return DefaultSelectionEventManager.<T> createCheckboxManager(column); 
} 
Cuestiones relacionadas