需要更改网格选项/数据源时的最佳实践

时间:2014-07-08 14:04:53

标签: kendo-ui kendo-grid kendo-datasource

在我正在开发的应用程序中,我需要使用相同的空间来根据TreeView上选择的项目在网格中显示来自不同格式的不同来源的信息。

我找到了两种方法来实现这一目标:

  1. 找到网格然后销毁并重新创建它。
  2. 找到网格,然后更改datasoruce / options /
  3. 我对剑道很新,所以我不确定哪种方法会更明智。

    任何建议?

2 个答案:

答案 0 :(得分:2)

答案取决于您的使用模式。

  1. 您多久更换一次数据源?
  2. 获取新数据需要多长时间?
  3. 涉及多少数据?
  4. 如果需要很长时间并且你可以在DataSource之间频繁切换,那么我会选择第三种方法,它有几个网格,只有一个可见 BUT 如果涉及到大量数据那么你应该销毁网格并重新创建一个新网格,避免使用大量内存必须来回传输大量数据。

    如果切换数据并且网格结构完全相同(相同的列和格式),您可以使用第二个提议(切换数据源)。

答案 1 :(得分:0)

如果您的所有数据都具有相同的列和选项,那么我只需在网格小部件上调用.setDataSource()以将数据源替换为新数据源。

但是,如果您要更改选项和列,我认为最好只是销毁窗口小部件并重新创建它,这将消除窗口小部件保留任何旧选项的可能性。类似的东西:

function replaceGrid(selector, options) {
    var $grid = $(selector);
    var gridWidget = $grid.getKendoGrid();
    if(gridWidget) {
        gridWidget.destroy();
    }
    $grid.kendoGrid(options);
}