我正在使用 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/