我正在使用JsTree Ajax延迟加载功能并显示我正在使用的数据JsTree-grid。但是,我遇到了在第二列使用JsTree-grid显示数据的问题。我使用JsTree ajax延迟加载功能通过PHP传递以下JSON数据:
[
{
"id": 157749,
"parent": "Sheet1.worksheet1webs44lx8GbsHu9igMc2vM_qWJqhePuo257PKZm_6Uo",
"text": "Script 1: Login",
"data": {
"status": "Fail"
}
},
{
"id": 104511,
"parent": "Sheet1.worksheet1webs44lx8GbsHu9igMc2vM_qWJqhePuo257PKZm_6Uo",
"text": "skip",
"data": {
"status": "Pass"
}
}
]
在Javascript中,我有以下代码:
$('#jstree').jstree({
plugins: ['grid'],
'grid': {
'columns': [
{
'width': 50,
'header': 'Nodes'
},
{
'width': 30,
'header': 'Status',
'value': function (node) {
return (node.status);
}
}
]
},
'core' : {
'data' : {
"url" : function (node) {
return node.id === '#' ? 'node' : 'tree/' + node.id;
},
'data' : function (node) {
return { 'id' : file.id, 'title' : file.title };
},
"dataType" : "json"
}
}
});
注意:当我在控制台上记录节点时:'value': function (node) { console.log(node); }
我在控制台上得到以下结果:
Object { status: "Fail" }
Object { status: "Pass" }
我想在第二个JsTree-grid列上显示status
通过或失败。但是,JsTree网格没有显示数据,我甚至没有在控制台上收到任何错误。请有人帮我解决我想要达到的目标。
答案 0 :(得分:1)
我在这里看到两个问题:
"parent": "Sheet1.worksheet1webs44lx8GbsHu9igMc2vM_qWJqhePuo257PKZm_6Uo"
;你的json没有这些节点的父母'value': function (node) { return (node.status); }
,只需使用'value': 'status'
。修好这两个问题后,请查看演示 - Fiddle。