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


Posted in Javascript onDecember 02, 2013

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"
})
Javascript 相关文章推荐
JavaScript的9个陷阱及评点分析
May 16 Javascript
常用的javascript function代码
May 23 Javascript
让firefox支持IE的一些方法的javascript扩展函数代码
Jan 02 Javascript
子窗口、父窗口和Silverlight之间的相互调用
Aug 16 Javascript
图片上传判断及预览脚本的效果实例
Aug 07 Javascript
深入解析JavaScript中的立即执行函数
May 21 Javascript
JQuery 动态生成Table表格实例代码
Dec 02 Javascript
微信小程序scroll-view实现横向滚动和上拉加载示例
Mar 06 Javascript
angular2中router路由跳转navigate的使用与刷新页面问题详解
May 07 Javascript
Vue中的作用域CSS和CSS模块的区别
Oct 09 Javascript
微信小程序实现bindtap等事件传参
Apr 08 Javascript
Electron+vue从零开始打造一个本地播放器的方法示例
Oct 27 Javascript
javascript操作html控件实例(javascript添加html)
Dec 02 #Javascript
解析Javascript中大括号“{}”的多义性
Dec 02 #Javascript
解析JavaScript中点号“.”的多义性
Dec 02 #Javascript
解析JavaScript中的不可见数据类型
Dec 02 #Javascript
Jquery使用Firefox FireBug插件调试Ajax步骤讲解
Dec 02 #Javascript
jquery遍历之parent()和parents()的区别及parentsUntil()方法详解
Dec 02 #Javascript
jQuery向上遍历DOM树之parents(),parent(),closest()之间的区别
Dec 02 #Javascript
You might like
PHP array_flip() 删除重复数组元素专用函数
2010/05/16 PHP
单台服务器的PHP进程之间实现共享内存的方法
2014/06/13 PHP
php基于dom实现的图书xml格式数据示例
2017/02/03 PHP
javascript hasFocus使用实例
2010/06/29 Javascript
js字符编码函数区别分析
2011/12/28 Javascript
jQuery编辑器KindEditor4.1.4代码高亮显示设置教程
2013/03/01 Javascript
jQuery获取当前对象标签名称的方法
2014/02/07 Javascript
函数window.open实现关闭所有的子窗口
2015/08/03 Javascript
谈谈PHP中相对路径的问题与绝对路径的使用
2016/08/16 Javascript
jQuery插件FusionCharts实现的2D面积图效果示例【附demo源码下载】
2017/03/06 Javascript
Bootstrap.css与layDate日期选择样式起冲突的解决办法
2017/04/07 Javascript
Angularjs 与 bower安装和使用详解
2017/05/11 Javascript
Bootstrap Table使用整理(四)之工具栏
2017/06/09 Javascript
AngularJS 中ui-view传参的实例详解
2017/08/25 Javascript
vue鼠标移入添加class样式,鼠标移出去除样式(active)实现方法
2018/08/22 Javascript
JavaScript使用Math.random()生成简单的验证码
2019/01/21 Javascript
Vue 实现前进刷新后退不刷新的效果
2019/06/14 Javascript
详解js location.href和window.open的几种用法和区别
2019/12/02 Javascript
python实现绘制树枝简单示例
2014/07/24 Python
Python实现OpenCV的安装与使用示例
2018/03/30 Python
django允许外部访问的实例讲解
2018/05/14 Python
Python定义二叉树及4种遍历方法实例详解
2018/07/05 Python
python爬虫模拟浏览器访问-User-Agent过程解析
2019/12/28 Python
Python输出指定字符串的方法
2020/02/06 Python
如何使用python代码操作git代码
2020/02/29 Python
Python + selenium + crontab实现每日定时自动打卡功能
2020/03/31 Python
django models里数据表插入数据id自增操作
2020/07/15 Python
几道Web/Ajax的面试题
2016/11/05 面试题
化工工艺专业求职信
2013/09/22 职场文书
外企财务年会演讲稿
2014/01/03 职场文书
领导干部考察材料
2014/02/08 职场文书
领导班子作风建设年个人整改措施
2014/09/29 职场文书
公司市场部岗位职责
2015/04/15 职场文书
开网店计划分析
2019/07/30 职场文书
MySQL时区造成时差问题
2022/04/13 MySQL
Golang map映射的用法
2022/04/22 Golang