Displaying database data with a TreeView control. : TreeView « Asp Control « ASP.Net






Displaying database data with a TreeView control.


<%@ Page Language="C#" %>
<%@ Import Namespace="System.Web.Configuration" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.SqlClient" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"><script runat="server">
    void Page_Load()
    {
        if (!Page.IsPostBack)
            PopulateTreeView();
    }
    private void PopulateTreeView()
    {
        DataTable treeViewData = GetTreeViewData();
        AddTopTreeViewNodes(treeViewData);
    }
    private DataTable GetTreeViewData()
    {
        string selectCommand = "SELECT MessageId,ParentId,Subject FROM Discuss";
        string conString = WebConfigurationManager.ConnectionStrings["Discuss"]. ConnectionString;
        SqlDataAdapter dad = new SqlDataAdapter(selectCommand, conString);
        DataTable dtblDiscuss = new DataTable();
        dad.Fill(dtblDiscuss);
        return dtblDiscuss;
    }

    private void AddTopTreeViewNodes(DataTable treeViewData)
    {
        DataView view = new DataView(treeViewData);
        view.RowFilter = "ParentID IS NULL";
        foreach (DataRowView row in view)        {
            TreeNode newNode = new TreeNode(row["Subject"].ToString(), row["MessageId"].ToString());
            TreeView1.Nodes.Add(newNode);
            AddChildTreeViewNodes(treeViewData, newNode);
        }

    }

    private void AddChildTreeViewNodes(DataTable treeViewData, TreeNode parentTreeViewNode)
    {
        DataView view = new DataView(treeViewData);
        view.RowFilter = "ParentID=" + parentTreeViewNode.Value;
        foreach (DataRowView row in view)
        {
            TreeNode newNode = new TreeNode(row["Subject"].ToString(), row["MessageId"].ToString());
            parentTreeViewNode.ChildNodes.Add(newNode);
            AddChildTreeViewNodes(treeViewData, newNode);
        }
    }

</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
    <style type="text/css">
    </style>
    <title>TreeView Database</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>

    <asp:TreeView
        id="TreeView1"
        Runat="server"  />

    </div>
    </form>
</body>
</html>

 








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.Using Populate On Demand and AJAX
12.Formatting the TreeView Control
13.Using Styles with the TreeView control.
14.Applying styles to different TreeView node levels.
15.Adding nodes programmatically to the TreeView control (C#)
16.Adding nodes programmatically to the TreeView control (VB)
17.Custom TreeView Control
18.Database tree
19.TreeView Populate On Demand
20.Test TreeView
21.TreeView DataBindings
22.Dynamic tree view
23.ParentNodeStyle in a TreeView
24.DirectoryInfo TreeView