我像下面的代码一样保存网格状态。
//for saving Grid State
function SaveGridSettings() {
var grid = $("#myGrid").data("kendoGrid");
localStorage["GridSettings"] = kendo.stringify(grid.getOptions());
}
//for applying Saved State
function setGridSettings() {
var grid = $("#myGrid").data("kendoGrid");
var options = localStorage["GridSettings"];
if (options) {
grid.setOptions(JSON.parse(options));
}
}
这还节省了一些额外的事情,例如排序和过滤。我对保存的所有内容都没问题,但没有过滤器。您是否知道有什么方法可以避免保存过滤器,因为它会使用户感到烦恼,就像最后一个搜索字符串未获取任何记录,然后在将来用户看到空网格并开始大吼大叫在我们身上。此外,将设置应用回网格后,“导出到Excel”按钮也将被删除。
在这里,我通过在保存之前从选项中排除过滤器对象来获得解决方案。请在保存网格选项时尝试此操作。
var Options = grid.getOptions();
delete Options.dataSource.filter;
localStorage[name] = kendo.stringify(Options);
我还在Kendo UI上工作,我的目标是保留kendo-grid过滤器,使其在页面重新加载时或在重定向时遇到以下问题,1)重新加载后或重定向时,“导出到Excel”按钮将被删除。2)将过滤器保存在本地存储中后,网格中的“编辑”按钮不起作用,但在保存到本地存储中之前,该按钮起作用。
请帮助。
$(document).ready(function () {
$("#gridVerificationEntries").data("kendoGrid").setOptions(JSON.parse(localStorage["GridSettings"]));
});
function grid_dataBound() {
localStorage.clear('GridSettings');
localStorage["GridSettings"] = kendo.stringify($("#gridVerificationEntries").data("kendoGrid").getOptions());
}