/// <summary> /// 转换树结构为树节点 /// </summary> /// <param name="pTreeNodeSour"></param> /// <returns></returns> public static List <SomeHierarchyViewModel> CovertObjToTree(IEnumerable <TreeNode> pTreeNodeSour, ref List <SomeHierarchyViewModel> treeList) { List <SomeHierarchyViewModel> rtn = new List <SomeHierarchyViewModel>(); foreach (var item in pTreeNodeSour) { if (item.Childs.Count > 0) { SomeHierarchyViewModel temp = new SomeHierarchyViewModel("", new List <SomeHierarchyViewModel>(), item); temp.Title = item.Name; treeList.Add(temp); List <SomeHierarchyViewModel> listTemp = CovertObjToTree(item.Childs, ref treeList); listTemp.ForEach(n => n.Parent = temp); temp.Children = listTemp; rtn.Add(temp); } else { SomeHierarchyViewModel temp = new SomeHierarchyViewModel("", new List <SomeHierarchyViewModel>(), item); temp.Title = item.Name; temp.obj = item; temp.Children = null; rtn.Add(temp); treeList.Add(temp); } } return(rtn); }
public SomeHierarchyViewModel(string title, List <SomeHierarchyViewModel> children, Object obj, SomeHierarchyViewModel parent = null) { this.Title = title; this.Parent = parent; this.Children = children; this.obj = obj; if (this.Children != null) { this.Children.ForEach(ch => ch.Parent = this); } }