Here is a rough way to create nodes given by recursion (in perfect mash, semi-psuedo)
private void CreateNodeAndInvestigateChildrenOfNode(HierarchyData data) { //does this node have children??? if (data.HasChildren) { //get children IEnumerable<ChildRecord> childUsers = GetChildRecordsForData(data); foreach (child in childUsers) { HierarchyData newNode = new HierarchyData (); newNode.ParentNode = data; newNode.ThisData = child; data.ChildNodes.Add(newNode); CreateNodeAndInvestigateChildrenOfNode(newNode); } } }
Find your node root and call the method.
If you use the IHierarchyData and IHierarchicalEnumerable interfaces and create nodes with classes that implement them, treenode will accept this as a direct data source.
source share