尝试保留选定的已过滤元素时出现问题。我有以下场景我过滤的东西,然后我点击一行,它带我到一个新页面进行编辑,当我回去过滤器消失(它不应该)。请帮帮我这个
提到:我没有使用mvc网格只是一个简单的javascript一个
答案 0 :(得分:0)
如果您希望过滤器在浏览器/标签关闭时过期,则可以使用localStorage
(甚至sessionStorage
)。 DataSource有一个名为change
的事件,每次执行更改时都会调用该事件,包括过滤。在此事件中,您可以获取Kendo的过滤器对象(具有特定结构)并将其保存到存储中。在网格初始化参数中,您可以设置dataSource的filter
属性,该属性需要上面提到的过滤器对象,并且网格将在其初始化时自动过滤。请检查以下代码:
在网格初始化之前获取过滤器:
var filters = localStorage.getItem("gridFilters");
if (filters)
{
filters = JSON.parse(filters);
}
然后将这些属性设置为dataSource:
change: function(e)
{
// This saves the filter object to the storage
localStorage.setItem("gridFilters", JSON.stringify(e.sender._filter));
},
filter: filters
的 Demo 强>
请注意,您没有提供网格规范,因此我猜测您在服务器端进行了过滤。如果你这样做,上面的代码将不起作用,你必须尝试另一种方法。我希望它有所帮助。