c# 部门数据结构渲染 符合 jqgrid treeReader 模式数据
时间: 2024-03-05 11:51:16 浏览: 29
你可以使用以下的 C# 数据结构来渲染符合 jqgrid treeReader 模式数据:
```csharp
public class Department
{
public int Id { get; set; }
public string Name { get; set; }
public int ParentId { get; set; }
public List<Department> Children { get; set; }
}
```
其中,`Id` 是部门的唯一标识符,`Name` 是部门名称,`ParentId` 是父级部门的标识符,`Children` 是子部门列表。
你可以使用以下代码将部门数据转换为符合 jqgrid treeReader 模式的数据:
```csharp
public static List<dynamic> GetDepartmentTree(List<Department> departments, int parentId = 0)
{
var tree = new List<dynamic>();
foreach (var department in departments.Where(d => d.ParentId == parentId))
{
var node = new ExpandoObject() as IDictionary<string, object>;
node.Add("id", department.Id);
node.Add("name", department.Name);
var children = GetDepartmentTree(departments, department.Id);
if (children.Any())
{
node.Add("isLeaf", false);
node.Add("expanded", false);
node.Add("children", children);
}
else
{
node.Add("isLeaf", true);
}
tree.Add(node);
}
return tree;
}
```
最后,你可以将返回的 `List<dynamic>` 序列化成 JSON 格式,传递给 jqGrid 进行渲染。