KendoGrid - 将数据源显示为行(而非列)
KendoGrid - display datasource as rows (not columns)
有一种方法可以将数据源显示为行而不是列?
我的数据源只有一条记录,有 30 个属性。我想将属性显示为行 (property1 => row1, property2 => row2, ...) 而不是列 (property1 => column1, property2 => column2, ....)。
事实上,我想检索 3 条记录(每条记录有 30 个属性),但是 3 条记录将是列,而常见的 30 个属性将是行。
我该怎么做?
这是我目前所做的,但我不确定这是正确的方法。
var _dataSource = function () {
var dataSource = new kendo.data.DataSource({
transport: {
read: { // returns only 3 records
url: url,
dataType: "json"
}
},
schema : {
data: "data",
total: "total",
parse: function (data) {
console.log(data);
var dataArray = [];
var i = 0;
for (var property in data[0]) {
console.log(property);
console.log(data[0][property]);
var record = {
header: "",
headerId: "",
record1: "",
record2: "",
record3: ""
};
record.header = headerRows[i]; // array of header string (the 30 properties)
record.headerId = property;
record.record1 = data[0][property];
record.record2 = data[1][property];
record.record3 = data[2][property];
console.log(record);
dataArray.push(record);
i++;
}
return dataArray;
}
}
});
return dataSource;
};
但这给出了错误:TypeError: e is undefined
知道了!就这么简单!
我没有在 schema.parse
上构建逻辑,而是在 schema.data
上构建逻辑。
实际上,在 schema.data
上更有意义。不知道为什么我要尝试 schema.parse
。
有一种方法可以将数据源显示为行而不是列?
我的数据源只有一条记录,有 30 个属性。我想将属性显示为行 (property1 => row1, property2 => row2, ...) 而不是列 (property1 => column1, property2 => column2, ....)。
事实上,我想检索 3 条记录(每条记录有 30 个属性),但是 3 条记录将是列,而常见的 30 个属性将是行。
我该怎么做?
这是我目前所做的,但我不确定这是正确的方法。
var _dataSource = function () {
var dataSource = new kendo.data.DataSource({
transport: {
read: { // returns only 3 records
url: url,
dataType: "json"
}
},
schema : {
data: "data",
total: "total",
parse: function (data) {
console.log(data);
var dataArray = [];
var i = 0;
for (var property in data[0]) {
console.log(property);
console.log(data[0][property]);
var record = {
header: "",
headerId: "",
record1: "",
record2: "",
record3: ""
};
record.header = headerRows[i]; // array of header string (the 30 properties)
record.headerId = property;
record.record1 = data[0][property];
record.record2 = data[1][property];
record.record3 = data[2][property];
console.log(record);
dataArray.push(record);
i++;
}
return dataArray;
}
}
});
return dataSource;
};
但这给出了错误:TypeError: e is undefined
知道了!就这么简单!
我没有在 schema.parse
上构建逻辑,而是在 schema.data
上构建逻辑。
实际上,在 schema.data
上更有意义。不知道为什么我要尝试 schema.parse
。