In this blog we will know how to create treeview nodes and
corresponding sub treeview nodes from the database.
Scenario: -
I have two tables in Sql Server Database:
Table1: Category - Columns are Category_ID, CategoryName
Table2: SubCategory –Columns are SubCategory_ID,
SubCategoryName, Category_ID
Category Table Data:
1 Item1
2 Item2
3 Item3
4 Item4
SubCategory Table Data
1 SubItem1 1
2 SubItem2 1
3 SubItem3 1
4 SubItem4 2
5 SubItem5 2
6 SubItem6 3
7 Subitem7 3
8 Subitem8 4
Output
Code
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="TreeView_in_ASP.NET._Default" %>
<!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>Untitled Page</title>
</head>
<body>
<form
id="form1"
runat="server">
<div>
<asp:treeview ID="Treeview1"
runat="server"></asp:treeview>
</div>
</form>
</body>
</html>
using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using
System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Data.SqlClient;
namespace TreeView_in_ASP.NET
{
public partial
class _Default
: System.Web.UI.Page
{
string strConnString = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
string str;
SqlCommand com, com1;
protected void Page_Load(object
sender, EventArgs e)
{
bindtreeview();
}
void bindtreeview()
{
SqlConnection con = new SqlConnection(strConnString);
con.Open();
str = "Select * from
Category";
com = new SqlCommand(str, con);
SqlDataReader reader
= com.ExecuteReader();
com.Dispose();
string[,] ParentNode = new string[100, 2];
int count = 0;
while (reader.Read())
{
ParentNode[count, 0] =
reader.GetValue(reader.GetOrdinal("Category_ID")).ToString();
ParentNode[count++, 1] = reader.GetValue(reader.GetOrdinal("CategoryName")).ToString();
}
reader.Close();
for (int loop = 0; loop < count; loop++)
{
TreeNode root = new TreeNode();
root.Text =
ParentNode[loop, 1];
com1 = new SqlCommand("Select
* from SubCategory where Category_ID
=" + ParentNode[loop, 0], con);
SqlDataReader
reader1 = com1.ExecuteReader();
while
(reader1.Read())
{
TreeNode
child = new TreeNode();
child.Text =
reader1.GetValue(reader1.GetOrdinal("SubCategoryName")).ToString();
root.ChildNodes.Add(child);
}
reader1.Close();
Treeview1.Nodes.Add(root);
}
Treeview1.CollapseAll();
con.Close();
}
}
}
Thanks for reading