2

我在网格中使用“groupingsummary”功能。我正在尝试从 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} student{1}', value, value !== 1 ? 's' : '');
        }
    }, {
        dataIndex: 'mark',
        text: 'Mark',
        summaryType: 'average'
    }]
});

像这样:

在此处输入图像描述

谢谢你的帮助!!!

4

1 回答 1

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} student{1}', value, value !== 1 ? 's' : '');
    }*/
},

summaryType 解决了我的问题。

于 2013-07-24T09:50:25.860 回答