如何在 ExtJS Grid 的 summaryRenderer 中访问组名

Posted

技术标签:

【中文标题】如何在 ExtJS Grid 的 summaryRenderer 中访问组名【英文标题】:How to acess Group Name inside the summaryRenderer in ExtJS Grid 【发布时间】:2013-07-24 09:20:19 【问题描述】:

我在网格中使用“分组摘要”功能。我正在尝试从 summaryrenderer 访问 name。

有什么方法可以访问summaryrender里面的name

Ext.define('TestResult', 
    extend: 'Ext.data.Model',
    fields: ['student', 'subject', 
        name: 'mark',
        type: 'int'
    ]
);

Ext.create('Ext.grid.Panel', 
    width: 200,
    height: 240,
    renderTo: document.body,
    features: [
        groupHeaderTpl: 'Subject: name',
        ftype: 'groupingsummary'
    ],
    store: 
        model: 'TestResult',
        groupField: 'subject',
        data: [
            student: 'Student 1',
            subject: 'Math',
            mark: 84
        ,
            student: 'Student 1',
            subject: 'Science',
            mark: 72
        ,
            student: 'Student 2',
            subject: 'Math',
            mark: 96
        ,
            student: 'Student 2',
            subject: 'Science',
            mark: 68
        ]
    ,
    columns: [
        dataIndex: 'student',
        text: 'Name',
        summaryType: 'count',
        summaryRenderer: function(value)

            // Should return : Math Total: / Science Total:like this.

            return Ext.String.format('0 student1', value, value !== 1 ? 's' : '');
        
    , 
        dataIndex: 'mark',
        text: 'Mark',
        summaryType: 'average'
    ]
);

像这样:

感谢您的帮助!!!

【问题讨论】:

我使用了 summaryType: function(records) var myGroupName = records[0].get('subject'); return myGroupName+'总计:'; 【参考方案1】:

我试过了


    dataIndex: 'student',
    text: 'Name',
    summaryType: 'count',
    summaryType: function(records)
        var myGroupName = records[0].get('subject');
        return '<b>'+myGroupName+' Totals:</b>';
        
    /*summaryRenderer: function(value)
        return Ext.String.format('0 student1', value, value !== 1 ? 's' : '');
    */
,

summaryType 解决了我的问题。

【讨论】:

以上是关于如何在 ExtJS Grid 的 summaryRenderer 中访问组名的主要内容,如果未能解决你的问题,请参考以下文章

extjs5 grid如何实现根据后台返回的数据 合并相应的单元格或是行数

Extjs - 如何在Grid列中显示组合框

extjs如何获取Grid中某一行某一列的值

Extjs中如何遍历grid的数据(正在显示的数据)

如何在 ExtJS Grid 的 summaryRenderer 中访问组名

如何使用 ExtJS 现代 Grid Row 扩展器插件?