Posted in Javascript onDecember 02, 2013
/** * 定义降序的groupingStore */ var DescGroupingStore = Ext.extend(Ext.data.GroupingStore, { groupDir : 'ASC', groupBy : function(field, forceRegroup, direction) { direction = direction ? (String(direction) .toUpperCase() == 'DESC' ? 'DESC' : 'ASC') : this.groupDir; if (this.groupField == field this.groupDir == direction && !forceRegroup) { return; } this.groupField = field; this.groupDir = direction; if (this.remoteGroup) { if (!this.baseParams) { this.baseParams = {}; } this.baseParams['groupBy'] = field; this.baseParams['groupDir'] = direction; } if (this.groupOnSort) { this.sort(field, direction); return; } if (this.remoteGroup) { this.reload(); } else { var si = this.sortInfo || {}; if (si.field != field || si.direction != direction) { this.applySort(); } else { this.sortData(field, direction); } this.fireEvent('datachanged', this); } }, applySort : function() { Ext.data.GroupingStore.superclass.applySort.call(this); if (!this.groupOnSort && !this.remoteGroup) { if (this.groupField != this.sortInfo.field || this.groupDir != this.sortInfo.direction) { this.sortData(this.groupField, this.groupDir); } } }, applyGrouping : function(alwaysFireChange) { if (this.groupField !== false) { this.groupBy(this.groupField, true, this.groupDir); return true; } else { if (alwaysFireChange === true) { this.fireEvent('datachanged', this); } return false; } } });
/*************************调用***************************/ // 消息列表数据源 var messageStore = new DescGroupingStore({ proxy : new Ext.data.HttpProxy({ url : "listMessGrid.action" }), reader : myReader, groupDir : 'DESC', groupField : 'status', sortInfo : { field : 'id', direction : "DESC" } }); messageStore.load();
/*****************在gridpanel中添加如下属性*************************************/ view : new Ext.grid.GroupingView({ showGroupName : false, groupTextTpl : '{gvalue}:{text} ({[values.rs.length]} {[values.rs.length > 1 ? "封" : "封"]})', showGroupsText : "ddd" })
ExtJs中gridpanel分组后组名排序实例代码
声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。
Reply on: @reply_date@
@reply_contents@