ExtJs 3.2下GridPanel排序问题

li_qingxue 2013-02-20 03:47:52
ExtJs 3.2下GridPanel最下面两行不参与排序,有没有知道怎么实现的啊,因为我是通过后台增加了小计、合计,其他列默认为空,但是其他列中如果也有空值,排序后,小计、合计的顺序就乱了,可能就在中间了,有没有方法让gridpanel最后两行不参与排序的方法或者是另外的实现的方式啊,请高手帮帮忙啊
...全文
287 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
li_qingxue 2013-02-20
  • 打赏
  • 举报
回复
引用 1 楼 wzs_xyz 的回复:
给最后两行加上标志字段,然后重写排序算法,发现有标志字段的就直接返回相等(无论是正序还是逆序,相等都不会交换) Ext.data.Store.prototype.applySort = function() { var fn = function(r1,r2){//r1和r2表示行对象 var s = this.sortInfo, f =……

//自定义排序
	Ext.data.Store.prototype.applySort = function() {
	    if (this.sortInfo && !this.remoteSort) {
	        var s = this.sortInfo, f = s.field;
	        var st = this.fields.get(f).sortType;
	        var fn = function(r1, r2) {         
	            var v1 = st(r1.data[f]), v2 = st(r2.data[f]);
	            if(r1.get('wareCode')=='<b>小计:</b>' || r2.get('wareCode')=='<b>小计:</b>'||r1.get('wareCode')=='<b>合计:</b>' || r2.get('wareCode')=='<b>合计:</b>'){ 
                    return 0;  
                }
	            return v1 > v2 ? 1 : (v1 < v2 ? -1 : 0);
	        };       
	        this.data.sort(s.direction, fn);
	        if(this.snapshot && this.snapshot != this.data) {
	            this.snapshot.sort(s.direction, fn);
	        }
	    }
	};
这样写成功了,还是谢谢你啊
li_qingxue 2013-02-20
  • 打赏
  • 举报
回复
引用 2 楼 wzs_xyz 的回复:
写错了一点: if(r1.mask || r2.mask) return 0;//你自己测一下怎么能给最后两行加上标志并能从record对象中获取
你这只是针对sortInfo的那一行,那其余行排序怎么弄?还有你现在这样写好像不对,出不来想要的效果
未知数 2013-02-20
  • 打赏
  • 举报
回复
写错了一点: if(r1.mask || r2.mask) return 0;//你自己测一下怎么能给最后两行加上标志并能从record对象中获取
未知数 2013-02-20
  • 打赏
  • 举报
回复
给最后两行加上标志字段,然后重写排序算法,发现有标志字段的就直接返回相等(无论是正序还是逆序,相等都不会交换) Ext.data.Store.prototype.applySort = function() { var fn = function(r1,r2){//r1和r2表示行对象 var s = this.sortInfo, f = s.field; var st = this.fields.get(f).sortType; var fn = function(r1, r2) { var v1 = st(r1.data[f]), v2 = st(r2.data[f]); if(v1.mask || v2.mask) return 0;//如果排序的行中某一行有标志,则不交换次序 return v1>v2?1:(v1<v2?0:1);//这是自己的排序算法,你可以按需要写 } this.data.sort(s.direction, fn); if(this.snapshot && this.snapshot != this.data) { this.snapshot.sort(s.direction, fn); } }
我这是根据别人写的做成PDF文档
第一章 开始ExtJS………………………………………………………………………………………………………4
1.1 获得ExtJS……………………………………………………………………………………………………….…4
1.2 应用ExtJS……………………………………………………………………………………………………….…5
1.3 ExtJS版的Hello………………………………………………………………………………………………….…6
第二章 Ext框架基础及核心简介………………………………………………………………………………….……8
2.1 Ext类库简介………………………………………………………………………………………………….……..8
2.2 ExtJS的组件………………………………………………………………………………………………………...9
2.3 组件的使用……………………………………………………………………………………………………….…11
2.4 组件的配置属性……………………………………………………………………………………………….…….13
2.5 事件处理……………………………………………………………………………………………………………15
第三章 使用面板…………………………………………………………………………………………………………17
3.1 Panel………………………………………………………………………………………………………………..17
3.2 选项面板TabPanel…………………………………………………………………………………………….……19
3.3 视图区ViewPort……………………………………………………………………………………………….…….19
第四章 窗口Window及对话框MessageBox………………………………………………………….……….…....21
4.1 窗口基本应用..………………………………………………………………………………………………….……21
4.2 窗口分组……….……………………………………………………………………………………………………22
4.3 对话框……….………………………………………………………………………………………………………23
第五章 布局layout……….……………………………………………………………………………………………....26
5.1 布局概述……….……………………………………………………………………………………………………26
5.2 Border区域布局……….…………………………………………………………………………………………….27
5.3 Column列布局……….……………………………………………………………………………………….……..28
5.4 Fit布局……….………………………………………………………………………………………………..…….30
5.5 Form布局……….…………………………………………………………………………………………..………32
5.6 Accordion布局……….……………………………………………………………………………………..……….33
5.7 Card布局……….……………………………………………………………………………………………...……24
5.8 Table布局及其它布局……….……………………………………………………………………………..………..35
第六章 使用表格控件Grid……….………………………………………………………………………………..……36
6.1 基本表格GridPanel……….……………………………………………………………………………………..….36
6.2 可编辑的表格EditorGridPanel……….………………………………………………………………………..…….41
6.3 与服务器交互……….………………………………………………………………………………………..……..45
第七章 数据存储Stroe……….…………………………………………………………………………………..……..46
7.1 Stroe……….…………………………………………………………………………………………………..……46
7.2 DataReader……….…………………………………………………………………………………………..……..48
7.3 DataProxy与自定义Store……….……………………………………………………………………………..…….50
第八章 使用树控件TreePanel……….………………………………………………………………………….….…..50
8.1 TreePanel基本使用……….………………………………………………………………………………….…...…50
8.2 TreeNode……….……………………………………………………………………………………………...……53
8.3 TreeLoader……….………………………………………………………………………………………….………55

87,992

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧