protected void Page_Load(object sender, EventArgs e) { DirectoryInfo directory = new DirectoryInfo(@"D:\Krishna\Examples\Asp.net"); treeSource.TreeNodePopulate += OnSourceTreeNodePopulate; if(Page.IsPostBack) return; treeSource.ShowCheckBoxes = TreeNodeTypes.All; LoadTree(directory,treeSource); } private void LoadTree(DirectoryInfo directory, TreeView treeView) { treeView.Nodes.Clear(); TreeNode node = new TreeNode(); GetFolderNode(node,directory); node.NavigateUrl = "javascript:void(0)"; node.Expanded = true; node.Text = directory.Name; node.Value = directory.FullName; treeView.Nodes.Add(node); treeView.ShowLines = true; treeView.EnableViewState = true; treeView.ExpandDepth = 1; } public static TreeNode GetFolderNode(TreeNode node, DirectoryInfo folder) { TreeNode folderNode = null; DirectoryInfo[] folders = folder.GetDirectories(); DirectoryInfo[] subDirectories = folder.GetDirectories(); // Scan the directories in the current directory and call this method // again to go one level into the directory tree foreach (DirectoryInfo subDirectory in subDirectories) { folderNode = new TreeNode(); folderNode.NavigateUrl = string.Empty; folderNode.Text = subDirectory.Name; folderNode.ShowCheckBox = true; folderNode.PopulateOnDemand = true; //folderNode.ChildNodes.Add(GetFolderNode(folderNode,subDirectory)); node.ChildNodes.Add(folderNode); } return node; } private void OnSourceTreeNodePopulate(object sender, TreeNodeEventArgs e) { if (!Page.IsCallback) return; DirectoryInfo directory = new DirectoryInfo(e.Node.ValuePath); GetFolderNode(e.Node, directory); } protected void OnCopyClicked(object sender, EventArgs e) { if(treeSource.CheckedNodes.Count==0) return; } }
var
This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)