Kendo UI Grid sum聚合在具有可选属性的列上

时间:2014-06-13 00:54:18

标签: kendo-ui telerik kendo-grid

我使用Aggregates feature of a Kendo UI Grid Widget来显示分组列的总和。有问题的列绑定到可选字段/属性,因此当数据集包含不存在属性的数据项(即未定义)时,总和最终为NaN,如您所料。

Kendo DataSource calculates these aggregates "when the data source populates with data"does not include a feature to allow custom aggregates允许我实现一个以0替换未定义值的和的版本。

我可以看到kendo.data.js中定义总和函数的位置,但如果可能的话我宁愿不改变它。

我知道如何通过编写查询$("#myGridId").data("kendoGrid").dataSource的函数来解决这个问题,但我想知道是否有更好的选择。

1 个答案:

答案 0 :(得分:0)

kendo.data.js中的最新代码与我的项目版本( 2013.1.319 )进行比较后,我发现他们已经更改了sum聚合函数的实现,只是通过执行来处理这种情况如果值是数字,则添加。如果我可以将项目更新到最新版本的Kendo UI,问题就解决了。

以下代码段位于版本2014.1.416的第1369行。

sum: function(accumulator, item, accessor) {
    var value = accessor.get(item);
    if (!isNumber(accumulator)) {
        accumulator = value;
    } else if (isNumber(value)) {
        accumulator += value;
    }

    return accumulator;
}