我已经实现了简单的排序功能。
感谢此article
现在,我想保持一行固定不变,并对其他行进行排序。
(例如,total
行应固定在底部。)
这些是我的代码,
当我单击排序列时,dataView.sort
看起来像是对每一行的调用。
setSort(){ // I implemented function as class function
var self = this;
this.grid.onSort.subscribe(function (e, args) {
var cols = args.sortCols;
self.dataView.sort(function (dataRow1, dataRow2) {
for (var i = 0, l = cols.length; i < l; i++) {
var field = cols[i].sortCol.field;
var sign = cols[i].sortAsc ? 1 : -1;
var value1 = dataRow1[field], value2 = dataRow2[field];
var result = (value1 == value2 ? 0 : (value1 > value2 ? 1 : -1)) * sign;
if (result != 0) {
return result;
}
}
return 0;
});
self.grid.invalidate();
self.grid.render();
});
}