Рендерер заголовка группировки сетки ExtJS4 - Как указать? - PullRequest
2 голосов
/ 04 июня 2011

Кто-нибудь знает, как прикрепить рендерер к заголовку группировки сетки в ExtJS4? В ExtJS3 у меня есть следующий рабочий код, который возвращает «Past», если событие было завершено («Y»), или «Upcoming», если не завершено:

    function fmt_group_heading(groupVal) {
    if (groupVal === 'Y') {
        return 'Past';
    } else {
        return 'Upcoming';
    }
}

    // create the Grid
    var fitGrid = new Ext.grid.GridPanel({
       store: fitGroupingStore,
       columns: [
        {header: "ID", dataIndex: 'id', hidden: true },
                {header: 'Event', width:320, dataIndex: 'event',            
                            renderer:fmt_event_description},
                {header: 'Events',  dataIndex: 'completed',  hidden: true, 
                            renderer: fmt_group_heading }
    ],
    stripeRows: true,
    // config options for stateful behavior
    stateful: true,
    stateId: 'grid',
hideHeaders: true,
view: new Ext.grid.GroupingView({
    groupRenderer: 'completed',
    forceFit: true
})      
});

ExtJS4 обеспечивает группировку сетки, но я не понимаю, как изменить вывод текста группы. Атрибут 'groupHeaderTpl' в Ext.grid.feature.Grouping, похоже, принимает только необработанное значение поля, считанное из хранилища.

    this.groupingFeature = Ext.create('Ext.grid.feature.Grouping', {
        groupHeaderTpl: 'Group: {completed}'
    });

    // create the Grid
    this.fitnessGrid = new Ext.grid.Panel({
        store: this.fitnessEventStore,
        features: [this.groupingFeature],
            // etc.......

Ответы [ 3 ]

1 голос
/ 20 октября 2011

groupHeaderTpl требует, чтобы вы использовали {имя} при создании шаблона.Он будет использовать только значение, предоставленное groupField.

См. Документы .

1 голос
/ 22 июня 2011

попробуйте что-то вроде этого:

groupHeaderTpl: «{[Fmt_group_heading (values.name)]} ({Rows.length} Item {[values.rows.length> 1? "s": ""]}) '

0 голосов
/ 25 октября 2011

Попробуйте это:

 groupHeaderTpl: '{[values.rows[0].completed]}'
...