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 相关文章推荐
document.all还是document.getElementsByName?
Jul 21 Javascript
用tip解决Ext列宽度不够的问题
Dec 13 Javascript
关于javascript中this关键字(翻译+自我理解)
Oct 20 Javascript
Extjs4 GridPanel 的几种样式使用介绍
Apr 18 Javascript
div拖拽插件——JQ.MoveBox.js(自制JQ插件)
May 17 Javascript
jQuery中index()方法用法实例
Dec 27 Javascript
Node.js中child_process实现多进程
Feb 03 Javascript
js实现带有介绍的Select列表菜单实例
Aug 18 Javascript
AngularJS中关于ng-class指令的几种实现方式详解
Sep 17 Javascript
在webstorm开发微信小程序之使用阿里自定义字体图标的方法
Nov 15 Javascript
vue使用echarts实现水平柱形图实例
Sep 09 Javascript
Vue单页面应用中实现Markdown渲染
Feb 14 Vue.js
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
第九节 绑定 [9]
2006/10/09 PHP
php中的时间处理
2006/10/09 PHP
php中看实例学正则表达式
2006/12/25 PHP
56.com视频采集接口程序(PHP)
2007/09/22 PHP
关于php中的json_encode()和json_decode()函数的一些说明
2016/11/20 PHP
php校验公钥是否可用的实例方法
2019/09/17 PHP
FF IE兼容性的修改小结
2009/09/02 Javascript
对采用动态原型方式无法展示继承机制得思考
2009/12/04 Javascript
Javascript在IE或Firefox下获取鼠标位置的代码
2009/12/18 Javascript
JavaScript获取页面上某个元素的代码
2011/03/13 Javascript
jquery广告无缝轮播实例
2017/01/05 Javascript
基于require.js的使用(实例讲解)
2017/09/07 Javascript
Mac 安装 nodejs方法(图文详细步骤)
2017/10/30 NodeJs
vue 表单之通过v-model绑定单选按钮radio
2019/05/13 Javascript
基于Vue sessionStorage实现保留搜索框搜索内容
2020/06/01 Javascript
[19:14]DOTA2 HEROS教学视频教你分分钟做大人-维萨吉
2014/06/24 DOTA
Python使用CMD模块更优雅的运行脚本
2015/05/11 Python
Python读取一个目录下所有目录和文件的方法
2016/07/15 Python
Python编程实现的简单Web服务器示例
2017/06/22 Python
Django Web开发中django-debug-toolbar的配置以及使用
2018/05/06 Python
深入浅析Python的类
2018/06/22 Python
对python周期性定时器的示例详解
2019/02/19 Python
Python PIL图片添加字体的例子
2019/08/22 Python
深入浅析Python 中的sklearn模型选择
2019/10/12 Python
使用Puppeteer爬取微信文章的实现
2020/02/11 Python
python3+opencv生成不规则黑白mask实例
2020/02/19 Python
Python调用C语言程序方法解析
2020/07/07 Python
信息管理员岗位职责
2013/12/01 职场文书
大学生社会实践方案
2014/05/11 职场文书
学生意外伤害赔偿协议书
2014/09/17 职场文书
2014年计生协会工作总结
2014/11/21 职场文书
教师专业技术工作总结2015
2015/05/13 职场文书
公文写作:工伤事故分析报告怎么写?
2019/11/05 职场文书
HTML5中 rem适配方案与 viewport 适配问题详解
2021/04/27 HTML / CSS
go 实现简易端口扫描的示例
2021/05/22 Golang
python面向对象版学生信息管理系统
2021/06/24 Python