c# 渲染 jqgrid tree 按照jqgrid.treeGridModel.adjacency 模式
时间: 2024-03-06 13:47:33 浏览: 128
jqgrid 的treegrid用法
如果你想按照 jqgrid.treeGridModel.adjacency 模式来渲染 jqgrid tree,你可以使用 jqGrid 提供的 treeGrid 方法,它可以自动处理嵌套的 JSON 数组数据,并将其渲染成树形结构。
以下是一个示例代码,用来演示如何使用 treeGrid 方法来渲染 jqgrid tree:
```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", label: "Parent", hidden: true }
],
treeGrid: true,
treeGridModel: "adjacency",
ExpandColumn: "name",
ExpandColClick: true,
jsonReader: {
repeatitems: false,
root: function(obj) {
return obj;
},
id: "id",
parent: "parent"
},
caption: "My Tree Grid"
});
```
在上面的代码中,我们通过设置 treeGrid 为 true 来启用 jqgrid 的树形功能。然后,我们设置 treeGridModel 为 "adjacency",以告诉 jqgrid 使用 adjacency 模式来处理嵌套的 JSON 数据。接着,我们定义了一个 colModel,包含三个列:id、name 和 parent。其中,id 列作为唯一的主键,name 列用来显示节点名称,parent 列用来指向父节点。
最后,我们通过设置 jsonReader 来告诉 jqgrid 如何解析返回的 JSON 数据。在这里,我们将 repeatitems 设置为 false,因为我们不需要重复的父节点数据。我们还定义了一个 root 函数,用来返回 JSON 数据的根节点。最后,我们将 id 和 parent 分别指向 JSON 数据中的 id 和 parent 字段。
这样,当我们加载数据时,jqgrid 将自动处理嵌套的 JSON 数组,并将其渲染成树形结构。我们还可以通过设置 ExpandColumn 和 ExpandColClick 来控制展开/折叠按钮的位置。
阅读全文