c# 渲染 jqgrid 4.6.0 tree 按照jqgrid.treeGridModel.adjacency 模式
时间: 2024-03-06 22:47:35 浏览: 144
如果你使用的是 jqgrid 4.6.0 版本,你可以使用以下代码来渲染 jqgrid tree,按照 jqgrid.treeGridModel.adjacency 模式:
```javascript
$("#grid").jqGrid({
url: "data.json",
datatype: "json",
mtype: "GET",
colModel: [
{ name: "id", key: true, hidden: true },
{ name: "name", label: "Name", width: 200 },
{ name: "parent_id", label: "Parent", hidden: true }
],
treeGrid: true,
treeGridModel: "adjacency",
ExpandColumn: "name",
ExpandColClick: true,
jsonReader: {
repeatitems: false,
root: function(obj) {
return obj.rows;
},
id: "id",
parent: "parent_id"
},
caption: "My Tree Grid"
});
```
在这个示例中,我们设置了一个包含三个列的 colModel,分别是 id、name 和 parent_id。其中,id 作为主键,name 用于显示节点名称,parent_id 用于指向父节点。我们还通过设置 treeGridModel 为 "adjacency" 来启用 adjacency 模式。
在 jsonReader 中,我们将 repeatitems 设置为 false,root 函数返回 obj.rows,以便 jqgrid 可以正确解析嵌套的 JSON 数组。同时,我们将 id 和 parent 分别指向 JSON 数据中的 id 和 parent_id 字段。
最后,我们使用 jqgrid 内置的 treeGrid 方法来渲染树形结构。我们还可以通过设置 ExpandColumn 和 ExpandColClick 来控制展开/折叠按钮的位置。
需要注意的是,在 jqgrid 4.6.0 中,treeGrid 方法已经被废弃,建议使用更高版本的 jqgrid。
阅读全文