【问题标题】:Kendo UI. Reset Grid to first page after sort changed剑道用户界面。排序更改后将网格重置为第一页
【发布时间】:2016-09-14 12:28:21
【问题描述】:

我正在使用带有服务器分页和排序功能的 Kendo UI Grid。更改排序时,网格会刷新数据,但当前页面保持不变。

如何捕捉排序事件并移动到第一页?

附注我读过this thread,但那里讨论了另一个案例……

【问题讨论】:

    标签: kendo-ui kendo-grid


    【解决方案1】:

    考虑以下方法:

    • 使用 Kendo UI DataSource 的change 事件将current sort state 保存在某个变量中。
    • 使用requestStart 事件将之前的排序状态与新的排序状态进行比较。
    • 如果排序状态已经改变,用e.preventDefault()阻止请求
    • 使用page 方法导航到首页
    • 您还需要一个标志变量来防止 requestStart 处理程序中的无限循环,因为更改页面将触发新的 requestStart 事件

    这是一个演示:

    http://dojo.telerik.com/OXoYu

    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();
    }
    // ...
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-02-18
      • 2016-12-28
      相关资源
      最近更新 更多