GWT CellTable with checkbox selection and on row click event

前端 未结 2 1192
没有蜡笔的小新
没有蜡笔的小新 2021-02-05 21:41

How to call a method when some row is clicked using the checkbox selection model?

I\'m setting the checkbox selection model like this:

table.setSelection         


        
相关标签:
2条回答
  • 2021-02-05 22:18

    I found a solution! Instead of using createCheckboxManager(), use createCustomManager() passing by argument an EventTranslator that extends the CheckboxEventTranslator and do a delegation of the translateSelectionEvent method, intercepting only the events ignored by the super (CheckboxEventTranslator).

    The source code:

    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;
                }
            }
        )
    );
    
    0 讨论(0)
  • 2021-02-05 22:28

    Create a function that you call,

    table.setSelectionModel(selectionModel, ClassName.myMethod(0));
    
    static <T> DefaultSelectionEventManager<T> myMethod(int column) {
       //call whatever functions you want
       return DefaultSelectionEventManager.<T> createCheckboxManager(column);
    }
    
    0 讨论(0)
提交回复
热议问题