【问题标题】:Kendogrid destroy() and recreate the table on a new datasource, why do the old table columns still exist?Kendogrid destroy() 并在新数据源上重新创建表,为什么旧​​表列仍然存在?
【发布时间】:2013-03-15 03:36:30
【问题描述】:

在 KendoUI Grid 中调用 destroy() 然后在新的 DataSource 上重新创建表时:为什么旧的表列仍然存在?

这里唯一保持发言权的元素是元素。我如何告诉网格读取新的数据源列(它读取其他所有内容都正确)。

(如果我制作了 2 个不同的元素,它们都会正确填充,但我宁愿只保留 1 个元素并通过销毁和重新初始化替换元素表)

【问题讨论】:

    标签: telerik kendo-ui telerik-grid kendo-grid


    【解决方案1】:

    这很可能是因为您没有清除 Grid 容器内的内容。例如

    $('#gridName').data().kendoGrid.destroy();
    $('#gridName').empty();
    

    或更短的语法

    $('#gridName').kendoGrid('destroy').empty();
    

    Grid 会考虑剩下的旧 html 的其他方式 - 不要忘记 Grid 可以从 here 之类的表中初始化。

    【讨论】:

    • 我最终遇到了 Javascript 运行时错误:无法获取未定义或空引用的属性“kendoGrid”。当我尝试执行上述javascript时。
    【解决方案2】:

    只想澄清 Peter Subev 回答的最后一点,因为它帮助了我:

    "不要忘记 Grid 可以从 here 之类的表中初始化"

    这只是说在您的 HTML 中您使用了 <table> 标签而不是 <div> 标签。使用 <table> 标记将 Grid 表数据与 Grid 列分开,因此当您执行 $('#gridName').kendoGrid('destroy').empty() 时,它只会销毁/清空表数据,而不是栏目信息。

    将您的 HTML <table> 标记转换为 <div> 标记以获得所需的结果。

    【讨论】:

      【解决方案3】:

      我在 Angular 框架中工作,似乎无法使用新的数据源和新列重新初始化 Kendo 网格。第二个网格初始化没有任何作用。我试过了:

        if (vm.mainHierGrid != null) {
                  //vm.mainHierGrid.data().kendoGrid.destroy();
                  $('#mainGrid').data().kendoGrid.destroy();
                  //$('#mainGrid').empty();
                  vm.mainHierGrid.destroy();
              }
      

      【讨论】:

      • 我遇到了同样的问题,我最终在 jQuery 中使用了嵌入角度指令中的网格
      【解决方案4】:

      破坏剑道网格并重新绑定

      if ($('#kgCopyEntityGrid').hasClass("k-grid")) {
                          $('#kgCopyEntityGrid').kendoGrid('destroy').empty();
                      }
      
                      var kgCopyGrid = $("#kgCopyEntityGrid").kendoGrid({
      // your code here
                      }).data("kendoGrid");
      

      【讨论】:

        猜你喜欢
        • 2017-02-03
        • 1970-01-01
        • 2013-09-26
        • 1970-01-01
        • 1970-01-01
        • 2017-10-17
        • 2013-05-11
        • 1970-01-01
        • 2010-11-29
        相关资源
        最近更新 更多