我转到另一页后,Kendo Grid保持过滤状态

时间:2015-11-11 09:47:22

标签: javascript jquery kendo-ui kendo-grid

尝试保留选定的已过滤元素时出现问题。我有以下场景我过滤的东西,然后我点击一行,它带我到一个新页面进行编辑,当我回去过滤器消失(它不应该)。请帮帮我这个

提到:我没有使用mvc网格只是一个简单的javascript一个

1 个答案:

答案 0 :(得分:0)

如果您希望过滤器在浏览器/标签关闭时过期,则可以使用localStorage(甚至sessionStorage)。 DataSource有一个名为change的事件,每次执行更改时都会调用该事件,包括过滤。在此事件中,您可以获取Kendo的过滤器对象(具有特定结构)并将其保存到存储中。在网格初始化参数中,您可以设置dataSource的filter属性,该属性需要上面提到的过滤器对象,并且网格将在其初始化时自动过滤。请检查以下代码:

  1. 在网格初始化之前获取过滤器:

    var filters = localStorage.getItem("gridFilters");
    
    if (filters)
    {
        filters = JSON.parse(filters);
    }
    
  2. 然后将这些属性设置为dataSource:

    change: function(e) 
    {
        // This saves the filter object to the storage
        localStorage.setItem("gridFilters", JSON.stringify(e.sender._filter));
    },
    filter: filters
    
  3. Demo

    请注意,您没有提供网格规范,因此我猜测您在服务器端进行了过滤。如果你这样做,上面的代码将不起作用,你必须尝试另一种方法。我希望它有所帮助。