【问题标题】:KendoUI grid custom command is fired multiple timesKendoUI 网格自定义命令被多次触发
【发布时间】:2013-03-21 18:00:03
【问题描述】:

我有一个 KendoUI 网格。其中,其中一列定义了一个自定义命令:

command: { text: "Add", click: addLine }

当用户单击按钮时,此网格会显示在 Kendo 窗口中。同一个按钮会重新渲染网格并首先清除 HTML:

$("#kendoGridQuick").html("");
$("#kendoGridQuick").kendoGrid({

创建网格后,窗口将显示。我的问题是,无论我多次显示此窗口并创建网格,此命令都会准确触发。所以它第一次工作正常,但第二次被调用两次,第三次被调用三次,等等。

【问题讨论】:

    标签: kendo-ui kendo-grid


    【解决方案1】:

    问题是您没有销毁Grid 对象。您应该在清除 HTML 之前调用 Grid.destroy 方法。

    var grid = $("#kendoGridQuick").data("kendoGrid");
    // detach events
    grid.destroy();
    

    另外,尽量节省CPU和内存关闭和打开但不破坏网格。只要您始终使用相同的基本结构,您就可以在窗口即将打开时重新绑定/重新读取新数据(更快更简单)。

    【讨论】:

      【解决方案2】:

      而不是浪费 CPU 创建和销毁网格。仅在页面加载时初始化网格一次,并在单击按钮时显示/隐藏窗口(您不需要重新初始化它)。

      如果您仍然遇到困难,请分享一些代码,以便我们了解您在何处以及如何初始化 Grid。

      【讨论】:

        【解决方案3】:

        这是剑道网格。但是,我们可以在再次出价数据之前处理以下内容以清除网格。

        $("#gridSaleEvent").html("");

        【讨论】:

        • 我已经按照 OP 做到了这一点。这是一年半前的回答。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-06-12
        • 1970-01-01
        • 1970-01-01
        • 2011-10-12
        • 1970-01-01
        相关资源
        最近更新 更多