我是jqGrid的新手,我用本地数据构建了一个jqGrid treeGrid,一切都很好。 但是现在我正在尝试用远程JSON数据做同样的事情,我无法获得treeGrid显示我的数据。 这是treeGrid conf:
$("#"+subgrid_table_id).jqGrid({
url:"sg511e.php?id="+row_id+"&btr="+btr,
datatype:"json",
mType:'POST',
loadui: "disable",
colNames:['id','Prestations'],
colModel:[
{name:'id',index:'id',width:100,hidden:true},
{name:'name',index:'name',width:785,sortable:false}
],
pager: pager_id,
sortname: 'id',
sortorder: "asc",
hiddengrid:true,
gridview: true,
treeGrid:true,
treeGridModel: "adjacency",
treedatatype: 'json',
ExpandColumn: 'name',
jsonReader: {
repeatitems: false,
root: "rows"
},
和JSON数据:
{
"page": 1,
"total": 1,
"records": 1,
"rows": [
{
"cell": {
"id": "1",
"name": "ECHANGEUR",
"level": "0",
"parent": "",
"isLeaf": true,
"expanded": false,
"loaded": true
}
},
{
"cell": {
"id": "1_1",
"name": "Intervention Aller sur Site",
"level": "1",
"parent": "1",
"isLeaf": true,
"expanded": false,
"loaded": true
}
},
{
"cell": {
"id": "1_1_1",
"name": "Date et heure d'arrivée sur le site",
"level": "2",
"parent": "1_1",
"isLeaf": false,
"expanded": true,
"loaded": true
}
},
{
"cell": {
"id": "1_1_2",
"name": "Consignation de l'échangeur",
"level": "2",
"parent": "1_1",
"isLeaf": false,
"expanded": true,
"loaded": true
}
}
]
}
我没有看到我错了所以我希望你能提供一些帮助并解释我的错误。 提前谢谢了 JiheL
答案 0 :(得分:5)
首先,您应该修复JSON数据:
"parent": ""
替换为"parent": "null"
isLeaf
属性的值:将所有true
值更改为false
并将所有false
值更改为true
"cell"
部分"records": 1
不对应4项数据。我认为正确的值应为"records": 4
,但最好的方法是从网格选项列表中删除pager
。在任何page
的案例设置中,total
或records
都不重要。您可以更简化数据并从JSON数据中删除rows
部分。在这种情况下,我们必须将root
的{{1}}属性更改为jsonReader
。结果您可以使用以下简单的JSON数据:
root: function (obj) { return obj; }
The demo演示了更改的结果。扩展网格后如下图所示
我在演示中使用的代码是:
[
{
"id": "1",
"name": "ECHANGEUR",
"level": "0",
"parent": "null",
"isLeaf": false,
"expanded": false,
"loaded": true
},
{
"id": "1_1",
"name": "Intervention Aller sur Site",
"level": "1",
"parent": "1",
"isLeaf": false,
"expanded": false,
"loaded": true
},
{
"id": "1_1_1",
"name": "Date et heure d'arrivée sur le site",
"level": "2",
"parent": "1_1",
"isLeaf": true,
"expanded": true,
"loaded": true
},
{
"id": "1_1_2",
"name": "Consignation de l'échangeur",
"level": "2",
"parent": "1_1",
"isLeaf": true,
"expanded": true,
"loaded": true
}
]