private static void PopulateTreeNodesRecursive(TreeNode node, SPSNodeCollection dataChildrens, TreeBound delegateBound) { foreach (SPSNodeBase subDataNode in dataChildrens) { TreeNode newNode = new TreeNode(subDataNode.Name, subDataNode.UrlSegment, subDataNode.ImageUrl, subDataNode.NavigateUrl, ""); node.ChildNodes.Add(newNode); Debug.WriteLine(string.Format("-> {0},{1},{2},{3}", subDataNode.Name, subDataNode.UrlSegment, subDataNode.ImageUrl, subDataNode.NavigateUrl)); if (delegateBound != null) { delegateBound(newNode, subDataNode); } PopulateTreeNodesRecursive(newNode, subDataNode.Children, delegateBound); subDataNode.Dispose(); } }
/// <summary> /// Makes the tree view. /// </summary> /// <param name="dataSource">The data source.</param> /// <param name="delegateBound">The delegate bound.</param> /// <returns></returns> public static TreeView MakeTreeView(SPSHierarchyDataSource dataSource, TreeBound delegateBound) { TreeView tree = new TreeView(); tree.Nodes.Add(MakeTreeViewInternal(dataSource.Root, delegateBound)); DecorateTree(tree); return(tree); }
private static TreeNode PopulateTreeNodes(SPSHierarchyDataSource dataSource, TreeBound delegateBound) { TreeNode root; using (SPSNodeCollection dataNodes = dataSource.GetAll()) { SPSNodeBase dataRoot = dataNodes[0]; root = new TreeNode(dataRoot.Name, dataRoot.UrlSegment, dataRoot.ImageUrl, dataRoot.NavigateUrl, ""); if (delegateBound != null) { delegateBound(root, dataRoot); } PopulateTreeNodesRecursive(root, dataRoot.Children, delegateBound); } return(root); }
/// <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> /// Makes the tree view. /// </summary> /// <param name="spsRoot">The SPS root.</param> /// <param name="delegateBound">The delegate bound.</param> /// <returns></returns> public static TreeView MakeTreeView(ISPSTreeNode <ISPSHierarchyNode> spsRoot, TreeBound delegateBound) { TreeView tree = new TreeView(); tree.Nodes.Add(MakeTreeViewInternal(spsRoot, delegateBound)); DecorateTree(tree); return(tree); }
public static void PopulateTreeView(TreeView tree, SPSHierarchyDataSource dataSource, TreeBound delegateBound) { if (tree != null && dataSource != null) { TreeNode treeNode = PopulateTreeNodes(dataSource, delegateBound); if (treeNode != null) { tree.Nodes.Add(treeNode); DecorateTree(tree); } } else { throw new ArgumentNullException(); } }
/// <summary> /// Fill the tree view. /// </summary> /// <param name="treeView">The tree view.</param> /// <param name="spsRoot">The SPS root.</param> /// <param name="delegateBound">The delegate bound.</param> public static void FillTreeView(TreeView treeView, ISPSTreeNode <ISPSHierarchyNode> spsRoot, TreeBound delegateBound) { treeView.Nodes.Add(MakeTreeViewInternal(spsRoot, delegateBound)); DecorateTree(treeView); }