Кто-нибудь знает, как прикрепить рендерер к заголовку группировки сетки в 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.......