/// <summary>
        /// Gets the tree.
        /// </summary>
        /// <param name="spsRoot">The SPS root.</param>
        /// <param name="delegateBound">The delegate bound.</param>
        /// <returns></returns>
        private static TreeNode MakeTreeViewInternal(ISPSTreeNode <ISPSHierarchyNode> spsRoot, TreeBound delegateBound)
        {
            ISPSHierarchyNode node     = spsRoot.Node;
            TreeNode          treeNode = new TreeNode(node.Name, node.UrlSegment, node.ImageUrl, node.NavigateUrl, "");

            if (delegateBound != null)
            {
                delegateBound(treeNode, node);
            }

            foreach (ISPSTreeNode <ISPSHierarchyNode> child in spsRoot.Children)
            {
                treeNode.ChildNodes.Add(MakeTreeViewInternal(child, delegateBound));
            }

            return(treeNode);
        }
 /// <summary>
 /// Generates the link for an specified path.
 /// The behaviour depends on NavigateToList flag.
 /// </summary>
 /// <param name="treeNode">The tree node.</param>
 /// <param name="hierarchyNode">The hierarchy node.</param>
 private void GenerateLinkForPath(TreeNode treeNode, ISPSHierarchyNode hierarchyNode)
 {
     //if (treeNode != null)
     {
         if (_navigateToList)
         {
             treeNode.NavigateUrl = GenerateLinkToList(hierarchyNode.Path);
         }
         else if (hierarchyNode.NodeType == SPSHierarchyNodeType.Folder) //treeNode.Parent != null)
         {
             treeNode.NavigateUrl = GenerateLinkToView(hierarchyNode.Path);
         }
         else
         {
             treeNode.NavigateUrl = GenerateLinkToView(GetList().RootFolder.ServerRelativeUrl);
         }
     }
 }
Example #3
0
        private void AddHierarchyNodeToTreeViewNodesCollection(TreeNodeCollection nodes, ISPSHierarchyNode node)
        {
            Debug.WriteLine("AddHierarchyNodeToTreeViewNodesCollection");
            Debug.WriteLine(node.NavigateUrl);

            var treeNode = new TreeNode(node.Name,
                                        node.OpenUrl,
                                        node.ImageUrl,
                                        node.NavigateUrl,
                                        string.Empty)
            {
                PopulateOnDemand = node.HasChilds
            };


            nodes.Add(treeNode);
        }