您的位置
主页 > 网站技术 > 语言编程 > » 正文

ExtJs中gridpanel分组后组名排序实例代码

来源: 站长圈 点击:

本文主要介绍ExtJs中gridpanel分组后组名排序实例代码,有需要的朋友参考下!

复制代码 代码如下:

/** 

  * 定义降序的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"

}) 




首页  - 关于站长圈  - 广告服务  - 联系我们  - 关于站长圈  - 网站地图  - 版权声明