将kendo ui数据源绑定到规范化数据

时间:2015-07-29 15:32:18

标签: javascript jquery kendo-ui kendo-grid

如何将数据源绑定到规范化数据?我知道我可以使用fields和data2数组并构造一些看起来像data1的东西,但这对于大量数据来说会非常耗时。

// Denormalized
var data1 = [{"name":"John", "age":20},{"name":"Tom", "age":25}];

// Normalized
var fields = ["name","age"];
var data2 = [["John",20],["Tom",25]];

1 个答案:

答案 0 :(得分:0)

确实手动映射大量数据非常耗时,无法直接映射Kendo网格数据源来规范化数据。

但是,如果网格的数据源在服务器中进行分页,则处理每页数据的时间不会成为市长问题。如果情况并非如此,您可以使用某个库来帮助您完成该过程,我会在类似情况下使用lazy.js而不会出现任何问题。

对于您的特定样本,您将看起来像这样:

var fields = ["name","age"];
var data2 = [["John",20],["Tom",25]];
var dest = []
data2.forEach(function(e,i){
    var obj = {};
    e.forEach(function(o,i){
       obj[fields[i]]=o;
    });
    dest.push(obj);
});

dest数组将保存非规范化数据。