Ext.define('saas.override.grid.feature.Grouping', { override: 'Ext.grid.feature.Grouping', setup: function(rows, rowValues) { var me = this, data = me.refreshData, view = rowValues.view, // Need to check if groups have been added since init(), such as in the case of stateful grids. isGrouping = view.isGrouping = !me.disabled && me.getGridStore().isGrouped(), bufferedRenderer = view.bufferedRenderer; me.skippedRows = 0; if (bufferedRenderer) { bufferedRenderer.variableRowHeight = view.hasVariableRowHeight() || isGrouping; } data.groupField = me.getGroupField(); data.header = me.getGroupedHeader(data.groupField); data.doGrouping = isGrouping; //权限界面的BUG 修改groupHeaderTpl属性会导致报错 暂时修改源码属性 hey if(me.grid.xtype=='power-grid'){ me.groupHeaderTpl = Ext.create('Ext.XTemplate', '
{rows:this.formatName}
', { formatName: function(name) { return name[0].data.moduleName+'模块'; } } ) } rowValues.groupHeaderTpl = Ext.XTemplate.getTpl(me, 'groupHeaderTpl'); if (isGrouping && me.showSummaryRow) { data.summaryData = me.generateSummaryData(); } }, getMetaGroup: function(group) { var me = this, id = me.getId == null ? me.id : me.getId(), key, metaGroup, Model, modelData, groupPlaceholder, aggregateRecord, groupingContext; // Get the group from a member record or the group name if (group.isModel || typeof group === 'string') { group = me.getGroup(group); } if (group) { key = group.getGroupKey(); groupingContext = group.$groupingContext || (group.$groupingContext = {}); metaGroup = groupingContext[id]; if (!metaGroup) { Model = me.getGridStore().getModel(); // Add a placeholder record which represents the group if collapsed. modelData = {}; modelData[me.getGroupField()] = key; // Create the two records a group needs to produce a UI. // One to represent a collapsed group. // And one to append to the end of an expanded group. groupPlaceholder = new Model(modelData); groupPlaceholder.isNonData = groupPlaceholder.isCollapsedPlaceholder = true; groupPlaceholder.groupKey = key; aggregateRecord = new Ext.data.Model(modelData); aggregateRecord.isNonData = aggregateRecord.isSummary = true; aggregateRecord.groupKey = key; metaGroup = groupingContext[id] = { placeholder: groupPlaceholder, isCollapsed: false, lastGroup: null, lastGroupGeneration: null, lastFilterGeneration: null, aggregateRecord: aggregateRecord }; } } return metaGroup; } });