私は次のモデルとストアを持っています。
モデル:
Ext.define('TruckTask.model.Company', {
extend: 'Ext.data.Model',
idProperty: 'id',
fields: [
{name: 'id', type: 'int', defaultValue: null},
{name: 'name', type: 'string'},
{name: 'site', type: 'string'},
{name: 'createdDate', type: 'date',
convert: function(rawValue, model) {
var intDate = parseInt(rawValue);
if(intDate > 0){
return Ext.util.Format.date(new Date(intDate), 'd.m.Y');
}
if(typeof(rawValue) == 'object'){
return rawValue;
}
}
},
{name: 'langId', type: 'int'}
]
});
店:
Ext.define('TruckTask.store.Company', {
extend: 'Ext.data.Store',
requires : [
'TruckTask.model.Company',
'TruckTask.config.SecureRestProxy'
],
alias: 'store.company',
storeId: 'company',
model : 'TruckTask.model.Company',
autoLoad: true,
autoSync: true,
proxy: {
type: 'secure-rest',
reader: {
type: 'json'
},
writer: {
type: 'json'
},
api: {
read: '/api/company',
create: '/api/company',
update: '/api/company',
destroy: '/api/company'
}
}
});
このモデルのリストにはグリッド パネルを使用します。しかし、別の形で私が作る新しいモデルの作成。
グリッドでストアを定義します:
store: {
type: 'company'
},
フォームの送信ハンドラーには実装があります。
var record = this.getViewModel().get('rec');
var companyStore = Ext.data.StoreManager.lookup('company');
companyStore.add(record);
したがって、レコードはすぐにグリッド パネルに表示されますが、createdDate フィールド値は表示されません。この値は、サーバーの応答から取得されます。
サーバーの応答を受け取ったときに、グリッド パネルでこのレコードを更新するにはどうすればよいですか?