使用knockout-kendo对网格进行分组

时间:2013-10-14 01:55:06

标签: knockout.js kendo-ui

在knockout-kendo中使用knockout绑定语法,是否可以定义数据的分组方式?理想情况下,我想禁用用户进行分组并通过绑定执行分组(或者我可能需要创建一个绑定来执行此操作?)

更新

如果我将我的属性定义为kendo.data.DataSource

,这似乎工作正常
var dataSource = new kendo.data.DataSource({
    data: response,
    // group by the "category" field
    group: { field: "category" }
});

最好的我可以告诉我,在我看来,淘汰剑道库没有提供一个钩子来为它为你创建的数据源提供额外的可选参数......所以没有办法提供“组“通过简化或选项语法传入的非kendo.data.DataSource的修饰符。

1 个答案:

答案 0 :(得分:3)

如果您不想直接使用kendo.data.DataSource作为您的数据(但在这种情况下我认为您应该这样做)那么一种可能的(尽管是一种hacky)解决方案就是使用widget绑定中的选项。

当您指定widget可观察属性时,KO-Kendo将使用创建的Kendo小部件设置其值。

<div data-bind="kendoGrid: { data: items, widget: widget }"> </div>

然后,您可以订阅窗口小部件更改事件并在数据源上设置分组:

this.widget = ko.observable();

this.widget.subscribe(function (value) {
   value.dataSource.group({ field: 'category' });
});

演示JSFiddle