我已经创建了Ext.grid.Panel,现在我需要对服务器上计算的数据进行总结。我在那个网格中没有分组。
在功能ftype: 'summary'
中,没有像'remoteRoot'这样的属性。
有没有机会通过分组创建此摘要?
答案 0 :(得分:1)
您必须扩展/覆盖类。这是一个基于AbstractSummary.js的示例,应该进行优化。
// usage in grid:
{
ftype : 'summary',
remoteRoot : 'summary'
}
//response from server
{
data : [] // our standard data
summary : {
summaryField : 123123
}
}
// our class
Ext.define('w3desApp.grid.feature.Summary', {
override : 'Ext.grid.feature.Summary',
getSummary: function(store, type, field, group) {
var reader = store.proxy.reader;
if (this.remoteRoot && reader.rawData) {
// reset reader root and rebuild extractors to extract summaries data
root = reader.root;
reader.root = this.remoteRoot;
reader.buildExtractors(true);
summaryRow = reader.getRoot(reader.rawData);
// restore initial reader configuration
reader.root = root;
reader.buildExtractors(true);
if (typeof summaryRow[field] != 'undefined') {
return summaryRow[field];
}
return '';
}
return this.callParent(arguments);
}
});