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 switch case 另类写法
Mar 14 Javascript
javascript模拟实现C# String.format函数功能代码
Nov 25 Javascript
JS实现日期加减的方法
Nov 29 Javascript
jQuery插件bgStretcher.js实现全屏背景特效
Jun 05 Javascript
javascript中递归函数用法注意点
Jul 30 Javascript
jQuery+JSON实现AJAX二级联动实例分析
Dec 18 Javascript
jquery悬浮提示框完整实例
Jan 13 Javascript
设置点击文本框或图片弹出日历控件的实现代码
May 12 Javascript
基于js原生和ajax的get和post方法以及jsonp的原生写法实例
Oct 16 Javascript
JS中用EL表达式获取上下文参数值的方法
Mar 28 Javascript
React Native基础入门之初步使用Flexbox布局
Jul 02 Javascript
解决Vue keep-alive 调用 $destory() 页面不再被缓存的情况
Oct 30 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
探讨:array2xml和xml2array以及xml与array的互相转化
2013/06/24 PHP
php ios推送(代码)
2013/07/01 PHP
Yii中CGridView实现批量删除的方法
2015/12/28 PHP
php使用pdo连接sqlite3的配置示例
2016/05/27 PHP
判断多个元素(RADIO,CHECKBOX等)是否被选择的原理说明
2009/02/18 Javascript
JS 时间显示效果代码
2009/08/23 Javascript
javascript void(0)的妙用
2009/10/21 Javascript
利用JS实现浏览器的title闪烁
2013/07/08 Javascript
js中小数转换整数的方法
2014/01/26 Javascript
Javascript 多物体运动的实现
2014/12/24 Javascript
jQuery中end()方法用法实例
2015/01/08 Javascript
jQuery基于ID调用指定iframe页面内的方法
2016/07/06 Javascript
jQuery倒计时代码(超简单)
2017/02/27 Javascript
Vue-cli-webpack搭建斗鱼直播步骤详解
2017/11/17 Javascript
浅谈Node.js 沙箱环境
2018/05/15 Javascript
React学习笔记之高阶组件应用
2018/06/02 Javascript
从零开始用electron手撸一个截屏工具的示例代码
2018/10/10 Javascript
Vue中使用Lodop插件实现打印功能的简单方法
2019/12/19 Javascript
jQuery实现移动端笔触canvas电子签名
2020/05/21 jQuery
Vue+element+cookie记住密码功能的简单实现方法
2020/09/20 Javascript
浅谈nuxtjs校验登录中间件和混入(mixin)
2020/11/06 Javascript
Vue + ts实现轮播插件的示例
2020/11/10 Javascript
微信小程序自定义底部弹出框动画
2020/11/18 Javascript
python机器学习案例教程——K最近邻算法的实现
2017/12/28 Python
django删除表重建的实现方法
2019/08/28 Python
Python itertools.product方法代码实例
2020/03/27 Python
在Ubuntu 20.04中安装Pycharm 2020.1的图文教程
2020/04/30 Python
如何创建一个Flask项目并进行简单配置
2020/11/18 Python
使用canvas对多图片拼合并导出图片的方法
2018/08/28 HTML / CSS
年终自我鉴定
2013/10/09 职场文书
领导证婚人证婚词
2014/01/13 职场文书
聘任书的写作格式及范文
2014/03/29 职场文书
婚庆答谢词
2015/01/04 职场文书
2015年教师学期工作总结
2015/04/30 职场文书
Python OpenCV 图像平移的实现示例
2021/06/04 Python
SQLyog的下载、安装、破解、配置教程(MySQL可视化工具安装)
2022/09/23 MySQL