c# 怎么构建符合 jqgrid 中 符合 treeReader标准的 List
时间: 2024-03-05 20:51:51 浏览: 51
基于jqgrid实现树形菜单分页列表查询
要构建符合 jqGrid 中 treeReader 标准的 List,可以使用以下代码:
```csharp
public class Department
{
public int Id { get; set; }
public string Name { get; set; }
public int? ParentId { get; set; }
public bool IsLeaf { get; set; }
public bool Expanded { get; set; }
public int Level { get; set; }
}
public static class JqGridHelper
{
public static List<Department> ConvertToJqGridTreeFormat(IEnumerable<Department> departments)
{
List<Department> result = new List<Department>();
foreach (var department in departments)
{
Department node = new Department();
node.Id = department.Id;
node.Name = department.Name;
node.ParentId = department.ParentId;
node.IsLeaf = department.IsLeaf;
node.Expanded = department.Expanded;
node.Level = department.Level;
result.Add(node);
if (!department.IsLeaf)
{
List<Department> children = ConvertToJqGridTreeFormat(department.Children);
result.AddRange(children);
}
}
return result;
}
}
```
这里我们同样定义了一个 Department 类,它包含了部门的 id、name、parentId、isLeaf、expanded 和 level 字段。
然后,我们定义了一个 JqGridHelper 类,它有一个 ConvertToJqGridTreeFormat 方法,将部门列表转换为 jqGrid 中 treeReader 标准所需的 List。
在 ConvertToJqGridTreeFormat 方法中,我们首先遍历部门列表,为每个部门创建一个节点,并设置节点的 id、name、parentId、isLeaf、expanded 和 level 字段。然后,我们将这个节点添加到结果列表中。
接着,我们检查这个部门是否为叶子节点。如果不是,我们递归调用 ConvertToJqGridTreeFormat 方法,获取子部门的节点列表,并将它们添加到结果列表中。
最后,我们返回构建好的结果列表。
你可以使用这个 JqGridHelper 类将你的部门列表转换为 jqGrid 中 treeReader 标准所需的 List,并将它们传递给 jqGrid 控件。
阅读全文