グリッド セルのチェックボックスの状態が変化したときに、ストアを更新する必要があります。つまり、値をストアに追加または削除する必要があります。このイベントを処理するには?ところで、私はこの方法でグリッドにチェックボックスを作成します:
column = new ColumnConfig();
column.setId("accepted");
column.setHeader("Accepted");
column.setWidth(55);
UPD2:今、私は次のことを行います: 最初に決定したようにチェックボックスを作成します:
CheckColumnConfig checkColumn = new CheckColumnConfig("accepted", "", 55);
CellEditor checkBoxEditor = new CellEditor(new CheckBox());
checkBoxEditor.setToolTip("If you click here server will consider this rule checking your messages");
checkColumn.setEditor(checkBoxEditor);
checkColumn.setHeader("apply");
configs.add(checkColumn);
次のようにグリッド内のイベントを処理するよりも: UPD3:
grid.addListener(Events.CellMouseUp, new Listener<GridEvent>() {
@Override
public void handleEvent(GridEvent be) {
PropertyItem item;
if (grid.getStore().getAt(be.getRowIndex()).isAccepted()){
item = new PropertyItem(val1, val2, val3, true);
} else {
item = new PropertyItem(val1, val2, val3, false);
}
store.update(item);
store.commitChanges();
saveProperties(store, customerId, toRemove);
}
});
これが正しい方法です。