2

次のコンストラクターを使用して、編集可能なデータグリッドにチェックボックスセルを作成しています。

CheckboxCell(false, true)

これを使用して行の任意の場所をクリックすると、選択変更イベントが発生せず、単一選択モデルを使用しています。

私が使うとき、

CheckboxCell();

選択変更イベントが行で発生しますが、1)セルをチェックまたはチェック解除するために2回クリックしました。2)チェックボックスセルをオンまたはオフにすると、どこかをクリックするとすぐに値が元に戻ります。

私は解決策を見つけようとしていますが、まだ成功していません。どんな助けでもいただければ幸いです。

GWT2.4.0を使用しています

4

1 に答える 1

2

問題は、可能であれば選択モデルを使用しない選択のためです。チェックボックスの列にフィールドアップデーターを追加します。私はこれを使用しました:

Column< GridReportFields, Boolean > cb = new Column< GridReportFields, Boolean >(new CheckboxCell() ) { 
                    @Override

        public Boolean getValue(GridReportFields object) {
            // TODO Auto-generated method stub
            return object.getCheckb();
        }
    };
    cb.setFieldUpdater(new FieldUpdater<GridReportFields, Boolean>() {

        @Override
        public void update(int index, GridReportFields object, Boolean value) {
            // TODO Auto-generated method stub
            object.setCheckb(value);
            dataGrid.redraw();
        }
    });

ここで gridReport フィールドは私のモデル クラスです。setCheckb は、チェックボックスの値を保持するブール変数のセッターです。

于 2012-11-08T04:23:50.817 に答える