更新Knockout-Bound Kendo UI网格列集合

时间:2016-08-08 22:57:28

标签: knockout.js kendo-ui kendo-grid knockout-kendo

我正在使用Knockout-Kendo.js库将Kendo Grid绑定到Knockout绑定。我已经构建了一个加载多个数据源的系统,每个数据源都有自己的一组列分配给它们。除了将新列集合分配给Knockout绑定的Kendo Grid之外,我的一切都运行良好。

我已经阅读了几种方法来重新初始化列,但所有这些都需要销毁和重新创建网格。我不确定如何使用Knockout绑定网格来解决这个问题。我正在使用下面的代码。

HTML:

<div data-bind="kendoGrid: gridOptions"></div>

淘汰赛/ JS:

self.SearchResultsself.GridColumns都是可观察的数组。

self.gridOptions = {
    data: self.SearchResults,
    columns: self.GridColumns
};

当我更新self.SearchResults时,网格会正确更新。更新self.GridColumns对网格中显示的列没有影响。

如果有人能指出我如何更新和显示列集合以及使用上面链接的库提供的Knockout绑定,我将非常感激。

1 个答案:

答案 0 :(得分:0)

所以,我只想出了这个。原来很简单。

我最终做的是:

  1. 获取对网格和当前网格选项的引用
  2. 将更新的self.GridColumns()计算分配给选项
  3. 将网格选项设置为更新的选项

        var grid = $("#grid").data("kendoGrid");
        var options = grid.getOptions();
        options.columns = self.GridColumns();
        grid.setOptions(options);