任何人都知道如何将渲染器附加到ExtJS4中的网格分组标题?在ExtJS3中,我有以下工作代码,如果事件已经完成('Y')则返回'Past',如果没有完成则返回'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提供了网格分组,但我不了解如何更改组文本的输出。 Ext.grid.feature.Grouping的'groupHeaderTpl'属性似乎只将raw字段值从商店读取。
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.......
答案 0 :(得分:1)
像这样试试smth:
groupHeaderTpl: “{[fmt_group_heading(values.name)]} ({rows.length} 项目{[values.rows.length> 1? “s”: “”]})'
答案 1 :(得分:1)
groupHeaderTpl要求您在撰写模板时使用{name}。它只会使用groupField提供的值。
答案 2 :(得分:0)
试试这个:
groupHeaderTpl: '{[values.rows[0].completed]}'