如何将数据源绑定到规范化数据?我知道我可以使用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]];
答案 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
数组将保存非规范化数据。