Javascript dhtmlxgantt填充嵌套的JSON数据
我在我的页面中有一个dhtmlx甘特图,通常它会工作得很好,但现在当我有一个带有嵌套数组的JSON文件时,我的所有输出都将被Javascript dhtmlxgantt填充嵌套的JSON数据,javascript,html,json,dhtmlx,Javascript,Html,Json,Dhtmlx,我在我的页面中有一个dhtmlx甘特图,通常它会工作得很好,但现在当我有一个带有嵌套数组的JSON文件时,我的所有输出都将被无法识别。我正在尝试填充官方名称 有人能帮我吗?多谢各位 JSON Javascript gantt.config.columns = [ {name: "assign_to.official_name", label: "Assign To", align: "left", width: 70}, ]; function initializeGa
无法识别。我正在尝试填充官方名称
有人能帮我吗?多谢各位
JSON
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
dhtmlx甘特图不支持嵌套结构,因此您需要在将项目加载到甘特图之前对其进行预处理。
既然您知道您使用的是哪种格式,以及甘特图()希望使用哪种格式,那么这应该不是问题
最重要的是
确保数据项具有“id”属性
当您这样定义列名时:
{name:“assign_to.official_name”,标签:“assign to”,对齐:“left”,宽度:70}
列名无法映射到嵌套对象的属性,因此您必须在加载过程中展平结构,大致上可以通过以下方式完成:
或定义从嵌套对象获取值的列模板:
- 请检查控制台输出以获取结果数据集
dhtmlx甘特图不支持嵌套结构,因此您需要在将项目加载到甘特图之前对其进行预处理。
既然您知道您使用的是哪种格式,以及甘特图()希望使用哪种格式,那么这应该不是问题
最重要的是
确保数据项具有“id”属性
当您这样定义列名时:
{name:“assign_to.official_name”,标签:“assign to”,对齐:“left”,宽度:70}
列名无法映射到嵌套对象的属性,因此您必须在加载过程中展平结构,大致上可以通过以下方式完成:
或定义从嵌套对象获取值的列模板:
- 请检查控制台输出以获取结果数据集
你好@Alex Klimenkov非常感谢你,这太完美了!但是对于我的数据,它实际上来自RESTAPI,因此如果我想调用getData()
函数,我如何调用它?例如http://127.0.0.1/test/ganttchart_data/5/
再次感谢你,阿列克西!您可以通过ajax get手动请求api,一旦从服务器获取数据,您就可以将其转换并放入甘特图。如果您使用上面我的示例中的jquery和函数,它可能如下所示:$.get(“/test/ganttchart\u data/5/”,function(result){gantt.parse(prepareData(result));})代码>你好@Alex Klimenkov非常感谢你,这太完美了!但是对于我的数据,它实际上来自RESTAPI,因此如果我想调用getData()
函数,我如何调用它?例如http://127.0.0.1/test/ganttchart_data/5/
再次感谢你,阿列克西!您可以通过ajax get手动请求api,一旦从服务器获取数据,您就可以将其转换并放入甘特图。如果您使用上面我的示例中的jquery和函数,它可能如下所示:$.get(“/test/ganttchart\u data/5/”,function(result){gantt.parse(prepareData(result));})代码>
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();
<div id="my_scheduler" style='width:1405px; height:245px;'></div>