以下は私のコードスニペットです: store-
>
this.segmentsList = { segments: [] };
this.segmentfields = [ {name: 'pvName', mapping : 'pvName'},
{name: 'tierName', mapping : 'tierName'}]
this.segmentsStore = new Ext.data.JsonStore({
fields : this.segmentfields,
autoLoad: true,
data : this.segmentsList,
root : 'segments'
});
グリッド->
this.datatieringSelectModel = new Ext.selection.CheckboxModel({checkOnly:true});
this.segmentsGrid = new Ext.grid.Panel({
autoScroll : true
,id: 'segmentsGrid'
,store: this.segmentsStore
,height:200
,border: true
,columns: [
{header : 'TierName', sortable: false, dataIndex: 'tierName'}
,{header : 'PV Name', sortable: false, dataIndex: 'pvName'}
]
,viewConfig: {forceFit: true}
,selModel:this.datatieringSelectModel
,selType:'checkboxmodel'
,enableColumnHide : true
,stripeRows: true
});
this.datatieringSelectModel.on('select', this.checkboxSelectedHandler, this);
グリッドに次のデータを入力します。
{ "segments": [{"tierName": "tire4","pvName": "d2"}
,{"tierName": "tire3","pvName": "d1"}]}
チェックボックスを選択すると、選択イベントが発生し、checkboxSelectedHandler メソッドが呼び出されます。
checkboxSelectedHandler: function(selectionModel, record, rowIndex ) {
tierName = 'tier2';
record.set("tierName",tierName);
record.commit();
}
ここでは、tireName が正常に更新されますが、チェックボックスのチェック マークが消えます。デバッグ中に、目盛りが一度消えるのを観察しました record.set("tierName",tierName); 呼ばれます。対応するチェックボックスの選択に影響を与えずに tierName セルを更新する方法を提案してください。