我使用Kendo UI Grid进行服务器分页和排序。更改排序时,网格会刷新数据,但当前页面保持不变。
如何捕捉排序事件并转移到第一页?
P.S。我已阅读this thread,但在那里讨论了另一个案例......
答案 0 :(得分:2)
考虑以下方法:
change
事件将current sort state保存在某个变量中。requestStart
事件将先前的排序状态与新的排序状态进行比较。e.preventDefault()
page
方法导航到第一页这是一个演示:
var sortState;
var resetPageFlag = false;
// ...
requestStart: function(e) {
//console.log(e.sender.sort(), sortState);
if (!resetPageFlag &&
JSON.stringify(e.sender.sort()) != JSON.stringify(sortState)) {
//console.log(e.sender.sort(), sortState);
e.preventDefault();
resetPageFlag = true;
e.sender.page(1);
} else {
resetPageFlag = false;
}
},
change: function(e) {
sortState = e.sender.sort();
}
// ...