示例#1
0
        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;
            }
        }
示例#2
0
        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;
            }
        }