如果关闭弹出窗口并打开它,如何防止 kendo ui 显示多于一个网格?

How to prevent kendo ui from displaying more that one grid if a close the popup and open it?

我有一个 jquery 对话框,其中包含一个 Kendo UI 网格。

 $("#" + popupElementName).dialog({
     modal: true,
    open: function () {

           //Kendo grid here ...

    },
    close: function (event, ui) {
        $(this).dialog("destroy").remove();
    }
  });

如果我单击 X 符号关闭对话框然后再次打开弹出窗口,我会得到 2 个 Kendo 网格。我得到的网格与我关闭和打开 jquery 对话框的次数一样多。

经过一些研究,我发现我可以使用命令 destroy 来初始化对话框。不幸的是,它似乎不起作用。我仍然得到多个网格。

部分帖子建议添加删除。但是,使用 remove 的问题是对话框不再工作,因为不再有在对话框中转换的 div。

您不应在每次打开事件时都初始化网格。

var grid= $("#grid").data("kendoGrid");
    if (!grid) {
      //initalize if not already initialized
    }

否则你应该销毁 kendo 网格并在关闭时清除 window 并在每次打开时重新初始化网格

open: function () {
           //Kendo grid here ...
    },
 close: function (event, ui) {
    $("#grid").data("kendoGrid").destroy();
     $(this).empty();
    }