思路:
- 获取全量树结构数据
- 通过递归动态添加树子节点
动态生成目录树 TreeView
在这里我第一步就无需复述了!主要是返回如下格式数据
//调用生成目录树方法
DepartmentTree.initDeptTree(this.deptTv.Nodes, deptList); //初始化目录树数据
//初始化 构建 部门目录数据
public static void initDeptTree(TreeNodeCollection nodes, IList<SysDeptVo> deptList)
{if (null!= deptList && deptList.Count>0){for (int i=0;i< deptList.Count;i++){TreeNode treeNode = new TreeNode();SysDeptVo departVo = deptList[i];treeNode.Tag = departVo.id;treeNode.Name = departVo.label;treeNode.Text = departVo.label;nodes.Add(treeNode);if (null!= departVo.children && departVo.children.Count>0){addChildNode(treeNode, departVo.children);}}}
}//递归添加子节点
private static void addChildNode(TreeNode treeNode, List<SysDeptVo> children)
{for (int i = 0; i < children.Count; i++){TreeNode childNode = new TreeNode();SysDeptVo departVo = children[i];childNode.Tag = departVo.id;childNode.Name = departVo.label;childNode.Text = departVo.label;treeNode.Nodes.Add(childNode);if (null != departVo.children && departVo.children.Count > 0){addChildNode(childNode, departVo.children);}}
}
亲测有效,别忘了点赞