1

私がやりたいのは、CheckBoxSelectionModelを使用してグリッド内のアイテムがオンまたはオフになるたびにイベントをキャプチャすることです。チェック/選択された部分は、SelectionHandlerを使用して簡単に実行できます。ただし、複数選択モードで選択解除イベントを発生させるものは何も表示されません。1000ほどのアイテムがあるグリッドがあり、ユーザーがアイテムを複数選択して地図上で追跡できるようにしています。選択が変更されるたびにモデル全体をスキャンするのはうまく機能しないので、これをどのように処理するのか疑問に思っています。

4

1 に答える 1

4

あなたは正しいです。SelectionHandlerは、チェック済み/選択済みのステータスのみを提供します。同様の要件があり、CheckBoxSelectionModelのonSelectChange()メソッドをオーバーライドすることで解決しました。

参考までにサンプルコードを示します。

IdentityValueProvider<VO> identity = new IdentityValueProvider<VO>();
CheckBoxSelectionModel<VO> sm = new CheckBoxSelectionModel<VO>(identity) {

    protected void onSelectChange(VO model, boolean select) {

        super.onSelectChange(model, select);
        if (select) {
            // Do something on select ...
        } else {
            // Do something on deselect ...
        }
    };
};

お役に立てれば。

于 2013-01-10T12:27:02.973 に答える