public void Reload(SPTreeNode parent, StuctureItemCollection list) { var parentTreeview = TreeView as TreeViewComponent; if (parentTreeview == null) { return; } if (list == null || list.Count <= 1) { // End of the line, set the selectedNode and return parentTreeview.SelectedNode = parent; return; } list.RemoveAt(0); var item = list[0]; Trace.WriteLine("Expand node: " + parent.Text); Trace.WriteLine("Find child node: " + item.ID); parent.HasChildrenLoaded = false; parentTreeview.ExpandNode(parent); var found = false; foreach (SPTreeNode node in parent.Nodes) { //var nodeID = (String.IsNullOrEmpty(node.Model.ID)) ? node.Index.ToString() : node.Model.ID; if (node.Model.ID == item.ID) { Trace.WriteLine("Child node found: " + item.ID); found = true; Reload(node, list); break; } } if (!found) { parentTreeview.SelectedNode = parent; } }
public void Reload(SPTreeNode parent, StuctureItemCollection list) { var parentTreeview = TreeView as TreeViewComponent; if (parentTreeview == null) return; if (list == null || list.Count <= 1) { // End of the line, set the selectedNode and return parentTreeview.SelectedNode = parent; return; } list.RemoveAt(0); var item = list[0]; Trace.WriteLine("Expand node: " + parent.Text); Trace.WriteLine("Find child node: " + item.ID); parent.HasChildrenLoaded = false; parentTreeview.ExpandNode(parent); var found = false; foreach (SPTreeNode node in parent.Nodes) { //var nodeID = (String.IsNullOrEmpty(node.Model.ID)) ? node.Index.ToString() : node.Model.ID; if (node.Model.ID == item.ID) { Trace.WriteLine("Child node found: " + item.ID); found = true; Reload(node, list); break; } } if (!found) { parentTreeview.SelectedNode = parent; } }