c# 怎么构建符合 jqgrid 中 符合 treeReader标准的 List 不包含Children
时间: 2024-03-05 20:51:57 浏览: 58
要构建符合 jqGrid 中 treeReader 标准的 List,需要满足以下要求:
1. List 中每个节点都要包含 id、parent、level 和 isLeaf 四个属性,其中 id 表示节点的唯一标识,parent 表示该节点的父节点标识,level 表示该节点的层级,isLeaf 表示该节点是否为叶子节点。
2. 如果该节点为非叶子节点,则需要包含一个名为 children 的 List 属性,该属性中存储该节点的所有子节点。
下面是一个示例代码,用于构建一个符合 jqGrid 中 treeReader 标准的 List:
```
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;
treeNodes.Add(treeNode);
}
return treeNodes;
}
```
在上述代码中,我们通过遍历数据源中的每个节点,构建一个符合 jqGrid 中 treeReader 标准的 List,并返回该 List。需要注意的是,在构建非叶子节点时,需要为其 children 属性赋值,以存储该节点的所有子节点。
阅读全文