我有一个带有动态列的多维数据源,如下所示:
{
TaskName: "Sample",
Oct12018: {
Assigned: 2,
Completed: 0
},
Oct22018: {
Assigned: 2,
Completed: 2
},
... and so on.
这是我创建数据的方式: 我为日期动态创建一列。 在此处输入代码 $ .each(groupedData,function(col,val){ if(属性!='DateFormat'&&属性!='日期'){ schedule [i] = {};
}
for (var j = 0; j < val.length; j += 1) {
var currentItem = val[j]
var property = Object.keys(currentItem)[i];
schedule[i]["TaskDescription"] = currentItem.TaskDescription;
//schedule[i][currentItem.DateFormat] = currentItem["Assigned"];
for (var x = 0; x <= 2; x++) {
schedule[i][currentItem.DateFormat] = {};
schedule[i][currentItem.DateFormat]["Assigned"] = currentItem["Assigned"];
schedule[i][currentItem.DateFormat]["Completed"] = currentItem["Completed"];
//schedule[i]["Completed"] = currentItem["Completed"];
}
}
i += 1;
});
现在我不知道如何将其放在我的剑道网格上。
答案 0 :(得分:0)
编辑:
Kendo-ui向您显示[object] [object],当您尝试将jsObject解析为字符串时,这种情况发生在例如调用
时((value - 33) Mod 94) + 33
代替
JSON.stringify(data[i]) // data[i] = { actualData: "hi i am right", actualId: 0 }
尝试查找解析错误,您的网格将再次正常工作!
旧答案:
当您像定义kendo ui网格条目那样创建元素时,可以调用
JSON.stringify(data[i].actualData) // data[i].actualData = "hi i am right"
答案 1 :(得分:0)
为了使网格正确处理动态列,必须在实例化网格之前对其进行定义。如果您事先没有数据,则可以通过销毁网格然后使用添加到columns属性中的列进行重建来解决该问题。
答案 2 :(得分:0)
感谢您的回答,我能够将网格与动态列配合起来。
function generateColumns(sampleDataItem) {
var columnNames = Object.keys(sampleDataItem[0]);
return columnNames.map(function (name) {
return {
field: name,
width: 200,
title: name,
}}