c# 部门遍历树形集合符合 jqgrid 树形格式
时间: 2023-07-25 12:28:45 浏览: 122
一次集合遍历实现树形结构 - server
首先,你需要将你的树形数据集合转换成 jqgrid 树形格式所需的数据格式。这个格式是一个包含 id、parent、level、isLeaf 和 expanded 等字段的 JSON 数组。
接下来,你可以使用递归函数遍历你的树形数据集合,将每个节点转换成 jqgrid 树形格式所需的数据格式,并将它们添加到 JSON 数组中。
以下是一个示例递归函数,它将树形数据集合转换为 jqgrid 树形格式所需的数据格式:
```csharp
public static List<Dictionary<string, object>> ConvertToJqgridTreeFormat(List<TreeItem> items)
{
List<Dictionary<string, object>> result = new List<Dictionary<string, object>>();
foreach (TreeItem item in items)
{
Dictionary<string, object> node = new Dictionary<string, object>();
node["id"] = item.Id;
node["parent"] = item.ParentId ?? "";
node["level"] = item.Level;
node["isLeaf"] = item.IsLeaf;
node["expanded"] = true;
result.Add(node);
if (!item.IsLeaf)
{
List<Dictionary<string, object>> children = ConvertToJqgridTreeFormat(item.Children);
result.AddRange(children);
}
}
return result;
}
```
在上面的示例中,我们假设你的树形数据项是 TreeItem 类型的对象,它有一个 Id、ParentId、Level、IsLeaf 和 Children 属性。Children 属性是一个包含其子节点的 TreeItem 对象列表。
使用这个递归函数,你可以将你的树形数据集合转换成 jqgrid 树形格式所需的数据格式,并将它们传递给 jqgrid 控件。
阅读全文