0

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

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

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

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

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

4

3 回答 3

5

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

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

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

于 2013-03-21T18:11:33.280 回答
2

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

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

于 2013-03-21T18:26:33.747 回答
-1

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

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

于 2015-03-24T11:20:31.137 回答