列に対して「合計」操作を実行し、これらの値をテキスト ボックスに表示する必要があるグリッドがあります。ストアの「合計」機能を使用しようとしています。正常に動作しますが、このストアを破棄すると、計算された値がテキスト フィールドに保持されますが、グリッドには保持されません。もう一度このストアを破棄すると、きれいになります。何がうまくいかないのか、誰か教えてください。
前もって感謝します。
私のグリッドが与えられます
Ext.define('${pkgName}.v01t007001.SV01T00700105' , {
extend : 'Ext.grid.Panel',
alias : 'widget.sv01t00700105',
viewConfig: {
stripeRows : true,
forceFit : true,
loading : true,
emptyText : 'No Records to display',
listeners : {
viewready : function(v) {
var store = Ext.data.StoreManager.get('S01T008003');
store = !store ? Ext.create("S01T008003") : store;
store.load();
}
}
},
features : [{
ftype : 'summary',
}],
initComponent : function() {
this.store='S01T008003';
me = this;
this.columns = [{
header : 'STotal',
align : 'right',
width : 80,
dataIndex : 'total',
renderer : function(value, metaData, record, rowIdx, colIdx, store, view) {
var subtotal = Ext.util.Format.number(value,'0.00');
var total = view.getStore().sum('total');
var t = Ext.util.Format.number(total,'0.00');
Ext.getCmp('total-t00700106').setValue(t); // It is my Text field id
return subtotal+' ' + '?';
}
}];
this.callParent(arguments);
}
});
その私のテキストフィールド
{
xtype : 'textfield',
fieldLabel: 'Total',
name : 'total',
id : 'total-t00700106',
width : 200
}
私の店
Ext.define('${pkgName}.S01T008003', {
extend : 'Ext.data.Store',
model : '${appName}.model.M01T008002',
idProperty: 'id',
autoLoad : false,
autoSync : true,
proxy: {
type : 'ajax',
noCache : true,
api: {
read : '${createLink(controller:'C01t008001', action: 'iItemStore')}',
destroy : '${createLink(controller:'C01t008001', action: 'removeall')}'
},
actionMethods : {
read : 'GET',
update : 'PUT',
create : 'POST',
destroy : 'DELETE'
},
reader: {
type : 'json',
root : 'data',
totalProperty : 'total',
successProperty : 'success',
messageProperty : 'message',
implicitIncludes: true
},
simpleSortMode : true
},
sorters: [{
property: 'id',
direction: 'asc'
}]
});
私のコントローラー
invResetAll : function(button){
iItemStore.destroy({
callback : function(records, options, success) {
if(success){
console.log('if destroy success!');
iItemStore.removeAll(true);
}
}
});
iItemStore.reload();
}