ExtJs 3.2下GridPanel排序问题
ExtJs 3.2下GridPanel最下面两行不参与排序,有没有知道怎么实现的啊,因为我是通过后台增加了小计、合计,其他列默认为空,但是其他列中如果也有空值,排序后,小计、合计的顺序就乱了,可能就在中间了,有没有方法让gridpanel最后两行不参与排序的方法或者是另外的实现的方式啊,请高手帮帮忙啊
extjs
grid
gridpanel
排序
------解决方案--------------------给最后两行加上标志字段,然后重写排序算法,发现有标志字段的就直接返回相等(无论是正序还是逆序,相等都不会交换)
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);
}
}