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

原创 2013年12月02日 17:14:02
 代码如下:

/**
  * 定义降序的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分页前后台完整代码实例

第一次写文章啊,有些冲动。最近在公司学习Extjs,做了一个分页的小实例和大家分享。 1.首先编写paging-grid.js文件,这是我在网上参考的例子改写的,大同小异。 Ext.onReady(f...

ExtJS 给GridToExcel.js 添加分组GridPanel导出功能

原帖:  ExtJs Grid导出到Excel(修正版) http://extjs.org.cn/node/324 解决Ext Grid导出Excel在JSP等环境中文乱码问题(支持Wi...
  • cx2vj
  • cx2vj
  • 2012年07月25日 22:49
  • 1203

[ExtJS5学习笔记]第三十节 sencha extjs 5表格gridpanel分组汇总

Extjs 5 分组统计gridpanel 解决了在IE下数据无法正常显示的问题。有实际代码,运行简单,实用。...

Extjs3.x 为GridPanel 排序 行拖拽 行数据上移 行数据下移

需要实现gridPanel行数据排序,思路是:删除选中行的数据,在移动行插入新数据,形成移动的假象。 var Menu = new Ext.menu.Menu({ items: [{...

extjs-gridPanel面板-实例

1.实现从本地store中读取静态数据,显示在页面的girdpanel中。 代码如下:(将${ctp}替换为${pageContext.request.ContextPath}) Inser...

Extjs6 gridPanel排序与获取Store的排序信息

ExtJS6中表格排序也与ExtJS3中有所区别,下面分别给出这两个版本的实现方法 ExtJS3: // 复选框模型 var selm = new Ext.grid.CheckboxSelecti...

【代码】php 用键名分组相加的二维数组实例函数

本文介绍一篇关于php 二维数组以某一键名进行分组相加的实例程序,如果是从数据库里取数据的时候大可以SELECT SUM(t_value),t_id FROM t_table GROUP BY t_i...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ExtJs中gridpanel分组后组名排序实例代码
举报原因:
原因补充:

(最多只允许输入30个字)