进行多列分组的一种方法是覆盖 Grouper 函数以提供必要的功能。
Ext.util.Grouper.override({
getGroupString: function (item) {
return item.get('account') + ', Currency: ' + item.get('currCd');
}
});
// Define summary store
Ext.define('xxx.store.Summaries', {
extend: 'Ext.data.JsonStore',
alias: 'store.summaries',
requires: ['xxx.view.summary.SummaryGrouper'],
model: 'xxx.model.Summary',
storeId: 'summaryStore',
grouper: {
property: 'account'
},
进行此分组的另一种方法是通过存储中的 grouper 属性。
grouper: {
property: 'account',
groupFn: function (item) {
return item.get('account') + ', Currency: ' + item.get('currCd');
}
},
这个第一次工作,但是,当我刷新时,它不需要我给它的 groupFn 只是按帐户分组。我猜这与配置有关。你能建议为什么吗?
另一种方法是扩展 Grouper,但是,我认为我做错了什么。这没有被调用,或者我做错了什么。
// 定义汇总分组器
Ext.define('Banking.view.summary.SummaryGrouper', {
extend: 'Ext.util.Grouper',
alias: 'widget.summaryGrouper',
isGrouper: true,
initComponent: function () {
this.callParent(arguments);
},
config: {
groupFn: function(record) {
return record.get('account') + ', Currency:' + record.get('currCd');
},
sortProperty: 'account'
},
constructor:function(cfg){
this.callParent(arguments);//Calling the parent class constructor
this.initConfig(cfg);//Initializing the component
}
});
当我扩展 Grouper 类时,你能建议我在这里做错了什么吗?