DirectoryInfo TreeView : TreeView « Asp Control « ASP.Net






DirectoryInfo TreeView

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="Chapter_VII_DirectoryTreeView" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Directory Tree View</title>
</head>
<body>
    <form id="form1" runat="server">
   <asp:TreeView ID="TreeView1" 
                 runat="server" 
                 SelectedNodeStyle-ForeColor="Green"
                 SelectedNodeStyle-VerticalPadding="0"
                 ShowCheckBoxes="Leaf"
                 BackColor="White" 
                 Font-Size="Medium"  
                 ForeColor="Blue"></asp:TreeView>
    </form>
</body>
</html>

File: Default.aspx.cs

using System;
using System.IO;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public partial class Chapter_VII_DirectoryTreeView : System.Web.UI.Page
{
   protected void Page_Load(object sender, EventArgs e)
  {
    if (!IsPostBack)
    {
            String directoryPath = "C:\\";
            DirectoryInfo directoryInfo = new System.IO.DirectoryInfo(directoryPath);

            if (directoryInfo != null)
            {
                TreeNode rootDirectoryNode = CreateDirectoryTreeView(directoryInfo, null);
                if (rootDirectoryNode != null)
                    TreeView1.Nodes.Add(rootDirectoryNode);
            }
    }
  }

    TreeNode CreateDirectoryTreeView(DirectoryInfo directoryInfo, TreeNode parentNode)
  {
        TreeNode baseNode = new TreeNode(directoryInfo.Name);        
        DirectoryInfo[] subDirectories = directoryInfo.GetDirectories();
        FileInfo[] filesInDirectory = directoryInfo.GetFiles();

        for (int i = 0, n = subDirectories.Length; i < n; i++)
            CreateDirectoryTreeView(subDirectories[i], baseNode);
        
        for (int ctr = 0, cnt = filesInDirectory.Length; ctr < cnt; ctr++)
        {
            TreeNode childNode = new TreeNode(filesInDirectory[ctr].Name);
            baseNode.ChildNodes.Add(childNode);
        }

    if (parentNode == null)
       return baseNode;
    
        parentNode.ChildNodes.Add(baseNode);
        return parentNode;
  }
}

 








Related examples in the same category

1.A basic TreeView control
2.A TreeView control with the MSDN style applied to it
3.Binding a TreeView control to the Data.xml file
4.Add check boxes to leaf nodes (C#)
5.Add check boxes to leaf nodes (VB)
6.Applying custom images to the TreeView control
7.Expanding and collapsing the nodes of the TreeView control programmatically (C#)
8.Expanding and collapsing the nodes of the TreeView control programmatically (VB)
9.Expanding specific nodes programmatically
10.Expanding nodes programmatically using the Expanded property
11.Displaying database data with a TreeView control.
12.Using Populate On Demand and AJAX
13.Formatting the TreeView Control
14.Using Styles with the TreeView control.
15.Applying styles to different TreeView node levels.
16.Adding nodes programmatically to the TreeView control (C#)
17.Adding nodes programmatically to the TreeView control (VB)
18.Custom TreeView Control
19.Database tree
20.TreeView Populate On Demand
21.Test TreeView
22.TreeView DataBindings
23.Dynamic tree view
24.ParentNodeStyle in a TreeView