dhtmlxgantt 填充嵌套 JSON 数据
dhtmlxgantt Populate Nested JSON data
我的页面中有一个 dhtmlx 甘特图,通常它可以完美地工作,但现在当我有一个带有嵌套数组的 JSON 文件时,我的所有输出都将是 unrecognized
。我正在尝试填充 official name
.
谁能帮我解决这个问题?非常感谢。
JSON
{
"data": [
{
"assign_to": {
"id": 3,
"employee_id": "28141",
"official_name": "Hal Jordan",
},
"task": {
"id": 1,
"name": "Modeling",
"description": "3d modeling work"
},
"start_date": "2017-06-15",
"end_date": "2017-06-19"
},
{
"assign_to": {
"id": 3,
"employee_id": "28144",
"official_name": "Kyle Rayner",
},
"task": {
"id": 8,
"name": "Composting",
"description": null
},
"start_date": "2017-06-01",
"end_date": "2017-06-08"
}
]
}
Javascript
gantt.config.columns = [
{name: "assign_to.official_name", label: "Assign To", align: "left", width: 70},
];
function initializeGantt() {
gantt.init("my_scheduler");
gantt.load("/dashboard/ganttchart_list/5/?format=json");
}
initializeGantt();
HTML
<div id="my_scheduler" style='width:1405px; height:245px;'></div>
dhtmlx 甘特图不支持嵌套结构,因此您需要在将项目加载到甘特图之前对其进行预处理。
因为您知道您拥有哪种格式以及甘特图 (https://docs.dhtmlx.com/gantt/desktop__supported_data_formats.html#json ) 期望哪种格式,所以这应该不是问题。
最重要的事情
- 确保数据项有 'id' 属性
当您这样定义列名时:
{名称:"assign_to.official_name",标签:"Assign To",对齐:"left",宽度:70},
列名无法映射到嵌套对象的属性,因此您要么必须在加载期间展平结构,非常粗略,可以通过以下方式完成:
http://snippet.dhtmlx.com/129d2e043
或者定义一个从嵌套对象中获取值的列模板:
http://snippet.dhtmlx.com/9e8e65e85
- 请检查结果数据集的控制台输出
我的页面中有一个 dhtmlx 甘特图,通常它可以完美地工作,但现在当我有一个带有嵌套数组的 JSON 文件时,我的所有输出都将是 unrecognized
。我正在尝试填充 official name
.
谁能帮我解决这个问题?非常感谢。
JSON
{
"data": [
{
"assign_to": {
"id": 3,
"employee_id": "28141",
"official_name": "Hal Jordan",
},
"task": {
"id": 1,
"name": "Modeling",
"description": "3d modeling work"
},
"start_date": "2017-06-15",
"end_date": "2017-06-19"
},
{
"assign_to": {
"id": 3,
"employee_id": "28144",
"official_name": "Kyle Rayner",
},
"task": {
"id": 8,
"name": "Composting",
"description": null
},
"start_date": "2017-06-01",
"end_date": "2017-06-08"
}
]
}
Javascript
gantt.config.columns = [
{name: "assign_to.official_name", label: "Assign To", align: "left", width: 70},
];
function initializeGantt() {
gantt.init("my_scheduler");
gantt.load("/dashboard/ganttchart_list/5/?format=json");
}
initializeGantt();
HTML
<div id="my_scheduler" style='width:1405px; height:245px;'></div>
dhtmlx 甘特图不支持嵌套结构,因此您需要在将项目加载到甘特图之前对其进行预处理。 因为您知道您拥有哪种格式以及甘特图 (https://docs.dhtmlx.com/gantt/desktop__supported_data_formats.html#json ) 期望哪种格式,所以这应该不是问题。
最重要的事情
- 确保数据项有 'id' 属性
当您这样定义列名时:
{名称:"assign_to.official_name",标签:"Assign To",对齐:"left",宽度:70},
列名无法映射到嵌套对象的属性,因此您要么必须在加载期间展平结构,非常粗略,可以通过以下方式完成: http://snippet.dhtmlx.com/129d2e043
或者定义一个从嵌套对象中获取值的列模板: http://snippet.dhtmlx.com/9e8e65e85
- 请检查结果数据集的控制台输出