11

チェックボックス選択モデルを使用して行がクリックされたときにメソッドを呼び出すにはどうすればよいですか?

チェックボックス選択モデルを次のように設定しています。

table.setSelectionModel(selectionModel, 
      DefaultSelectionEventManager.<T> createCheckboxManager(0));
4

2 に答える 2

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;
            }
        }
    )
);
于 2011-04-13T16:54:44.023 に答える
1

呼び出す関数を作成し、

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

static <T> DefaultSelectionEventManager<T> myMethod(int column) {
   //call whatever functions you want
   return DefaultSelectionEventManager.<T> createCheckboxManager(column);
}
于 2011-04-12T15:34:21.310 に答える