首页 > 解决方案 > 在重新加载/重定向时保存过滤器时,Kendo Grid 上的编辑按钮和导出到 Excel 按钮不起作用

问题描述

我正在研究Kendo UI,我的目标是在页面重新加载或重定向时保留 kendo-grid 过滤器,我可以在页面重新加载/重定向后保留过滤器,但面临下面提到的问题,

  1. 重新加载或重定向后,导出到 Excel 按钮会被删除。
  2. 在将过滤器保存在本地存储中后,单击网格中的编辑按钮不起作用,但在保存到本地存储之前它可以工作。(单击编辑按钮时,它调用show()实习生调用grid_dataBound()
//Edit button column in kendo:
columns.Command(command =>
 {
  command.Custom(Resources.VerificationEntries.txtEdit).Click("show");
  command.Destroy().Text(Resources.Kendo.txtDel);
  }).Width(200).HtmlAttributes(new { });
}

//code logic to save the filter to local storage
 $(document).ready(function () {   
     $("#gridEntries").data("kendoGrid").setOptions(JSON.parse(localStorage["GridSettings"]));
    });
    function grid_dataBound() {
        localStorage.clear('GridSettings');
        localStorage["GridSettings"] = kendo.stringify($("#gridEntries").data("kendoGrid").getOptions());
    }
//On click of edit
function show(e) {
    grid_dataBound();
    e.preventDefault();
    var dataItem = this.dataItem($(e.currentTarget).closest("tr"));
    var vID = dataItem.VID;
    window.location.href = '@Url.Action("Update", "Vest")?VID=' + vID;
    }

请帮忙。

标签: kendo-grid

解决方案


您是否在控制台日志中收到任何错误?另外,您的“导出到 Excel”按钮在哪里?查看所有 mvc razor 网格代码以及任何相关的 Javascript 可能会有所帮助。

也许使用 command.Edit 而不是 command.Custom 会更有帮助。然后您可以添加Events(e=e>Edit("show"))以使用您的 Javascript 函数。

当涉及到编辑时,有一个“编辑”模式/事件,用户输入他们的更改,然后是一个“保存”模式/事件,其中数据实际发送到控制器。您可能想要绑定到保存事件而不是编辑。我也怀疑你e.preventDefault();可能是你的网格中断源的一部分。

如果您正在寻找一个完整的单独窗口,您可以创建一个列自定义模板,在其中添加一个按钮(通过 html),该按钮具有一个 javascript 函数,您可以在其中传递任何模型值,例如 vID。

你想通过你的编辑按钮来完成什么?


推荐阅读