c# 构建符合 jqgrid 中 treeReader标准的List数据
时间: 2024-03-05 18:52:04 浏览: 64
要构建符合 jqGrid 中 treeReader 标准的 List,需要满足以下要求:
1. List 中每个节点都要包含 `id`、`parent`、`level` 和 `isLeaf` 四个属性,其中 `id` 表示节点的唯一标识,`parent` 表示该节点的父节点标识,`level` 表示该节点的层级,`isLeaf` 表示该节点是否为叶子节点。
2. 如果该节点为非叶子节点,则需要包含一个名为 `children` 的 List 属性,该属性中存储该节点的所有子节点。
下面是一个示例代码,用于构建一个符合 jqGrid 中 treeReader 标准的 List:
```csharp
public class TreeNode
{
public int id {get; set;}
public int parent {get; set;}
public int level {get; set;}
public bool isLeaf {get; set;}
public List<TreeNode> children {get; set;}
}
public List<TreeNode> BuildTree(List<DataItem> dataItems)
{
List<TreeNode> treeNodes = new List<TreeNode>();
foreach (DataItem dataItem in dataItems)
{
TreeNode treeNode = new TreeNode();
treeNode.id = dataItem.Id;
treeNode.parent = dataItem.ParentId;
treeNode.level = dataItem.Level;
treeNode.isLeaf = dataItem.IsLeaf;
if (!treeNode.isLeaf) // 如果该节点为非叶子节点
{
// 递归构建该节点的所有子节点
treeNode.children = BuildTree(dataItems.Where(x => x.ParentId == dataItem.Id).ToList());
}
treeNodes.Add(treeNode);
}
return treeNodes;
}
```
在上述代码中,我们通过递归构建每个节点的子节点,从而构建一个符合 jqGrid 中 treeReader 标准的 List,并返回该 List。需要注意的是,在构建非叶子节点时,需要为其 `children` 属性赋值,以存储该节点的所有子节点。
阅读全文
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)