2

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

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

HTML:

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

淘汰赛/JS:

self.SearchResults并且self.GridColumns都是可观察的数组。

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

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

如果有人能指出我将如何使用上面链接的库提供的 Knockout 绑定来更新和显示列集合的正确方向,我将不胜感激。

4

1 回答 1

0

所以,我只是想通了这一点。结果真的很简单。

我最终做的是:

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

        var grid = $("#grid").data("kendoGrid");
        var options = grid.getOptions();
        options.columns = self.GridColumns();
        grid.setOptions(options);
    
于 2016-08-09T13:38:55.963 回答