jquery - 如何记住 Kendo Grid 中第二次请求的过滤器值?

标签 jquery asp.net-mvc kendo-grid kendo-asp.net-mvc

我正在使用 Kendo Grid 在我的 MVC Web 应用程序中显示记录。我想要的是,当我用某个值过滤网格,并从该页面请求另一个页面时,当我再次请求该网格页面时,我希望我的过滤器值将变为之前请求中设置的值。

最佳答案

我按照以下方式进行操作: 首先,您必须将当前过滤器存储在某处 - 我使用 javaScript 的 localStorage。只要不清除浏览器缓存,这种情况就会持续存在。 例如,您可以在离开页面等时执行此操作。

// get the grid as js object
var grid = $("#yourGridID").data("kendoGrid");

// Store the current filter (must be a string, so use JSON)
localStorage["myFilter"] = JSON.stringify(grid.dataSource.filter().filters)

要恢复过滤器,您可以调用

grid.dataSource.filter(JSON.parse(localStorage["myFilter"]))

这应该在网格初始化之后完成,例如在网格的 dataBound 事件中。当然,您应该检查 localStorage["myFilter"] 是否存在。

如果您还想保存其他内容,例如列/顺序、排序等,您还可以使用 grid.getOptions(options)grid.setOptions(options) code> 保存和恢复完整的网格设置。这些选项也可以保存在 localStorage 中(这里也使用 JSON)

关于jquery - 如何记住 Kendo Grid 中第二次请求的过滤器值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34063535/

相关文章:

javascript - Jquery如何使用momentjs翻译文本日期

javascript - ASP.NET MVC 重命名 JSON 对象包装器

kendo-ui - 带有 Auth Header 的 Kendo 网格的 Kendo Vue 数据源

javascript - 堆叠模式在关闭时滚动主页

javascript - 如何遍历页面上的所有复选框?

php - 是否可以在加载之前刷新页面?

c# - 当查询仅因属性不同时,如何解决 LINQ to Entity 查询重复问题?

c# - ASP.Net MVC 4 EditorFor DateTime 未在 Chrome 中预填充

json - Kendo 数据网格 - 如何从嵌套的 JSON 对象设置列值?

css - 如何使用使用 Kendo 网格的 React 组件?