In this article I’m going to explain how to create dynamic TreeView in ASP.NET using C# and SQL Server.

  I have written article for using checkbox in TreeView. You can follow the link given below 

How to use CheckBox in TreeView 

  TreeView is used to display records in hierarchical order. In this demo I have created TreeView for display list of states and districts in TreeView.

        Here I’ll show you how to create TreeView dynamically. First we have to create two tables for state and district details.

Table Design (State Master):

Column Name

Data Type

state_id

int

state

varchar(100)

 

Create table script:

CREATE TABLE [dbo].[State_mst](

        [state_id] [int] NULL,

        [state] [varchar](50) NULL

) ON [PRIMARY]

 

Table Design (District Master):

Column Name

Data Type

state_id

int

district_id

int

district

varchar(100)

 

Create table script:

CREATE TABLE [dbo].[District_mst](

        [state_id] [int] NULL,

        [district_id] [int] NULL,

        [district] [varchar](50) NULL

) ON [PRIMARY]

          Here we have to create a page like this

Designer Source Code:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_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 id="Head1" runat="server">

    <title> TreeView</title>

</head>

<body>

    <form id="form1" runat="server">

    <div>

                  <asp:TreeView ID="tvTables" runat="server" >

                  </asp:TreeView>        

    </div>

    </form>

</body>

</html>

Here I have written two function that return state and district details as DataTable.

DataRelation:

DataRelation class provides the facility to describe parent-child relationship between two tables in a DataSet. We can define as many relations between any two tables of DataSet. Here we can define relations between state and district table by state_id.

Sample code:       

     ds.Relations.Add("children", dtparent.Columns["state_id"],

                                          dtchild.Columns["state_id"]);  

           

Code Behind:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Web;

using System.Web.UI;

using System.Web.UI.WebControls;

using System.Data;

using System.Data.SqlClient;

public partial class _Default : System.Web.UI.Page

{

SqlConnection conn = new SqlConnection("Data Source=SPIDER;Initial Catalog=Demo;Integrated Security=True"); 

    protected void Page_Load(object sender, EventArgs e)

    { 

        if(!IsPostBack) 

        {

            PopulateTreeview();

        } 

    } 

    private void PopulateTreeview()

    {

        try

        {

            DataSet ds = new DataSet();

            DataTable dtparent = new DataTable();

            DataTable dtchild = new DataTable();

            dtparent = FillParentTable();

            dtparent.TableName = "A";

            dtchild = FillChildTable();

            dtchild.TableName = "B"

            ds.Tables.Add(dtparent);

            ds.Tables.Add(dtchild); 

            ds.Relations.Add("children", dtparent.Columns["state_id"],

                                          dtchild.Columns["state_id"]); 

            if (ds.Tables[0].Rows.Count > 0)

            {

                tvTables.Nodes.Clear(); 

                foreach (DataRow masterRow in ds.Tables[0].Rows)

                {

                    TreeNode masterNode = new TreeNode((string)masterRow["state"],

                                          Convert.ToString(masterRow["state_id"]));

                    tvTables.Nodes.Add(masterNode);

                    tvTables.CollapseAll();

                    foreach (DataRow childRow in masterRow.GetChildRows("Children"))

                    {

                        TreeNode childNode = new TreeNode((string)childRow["district"],

                                              Convert.ToString(childRow["state_id"]));

                        masterNode.ChildNodes.Add(childNode);

                        childNode.Value = Convert.ToString(childRow["district_id"]);

                    }

                }

            }

        }

        catch (Exception ex)

        {

            throw new Exception("Unable to populate treeview" + ex.Message);

        }

    } 

    private DataTable FillParentTable()

    {

        DataTable dt = new DataTable();

        conn.Open();

        string cmdstr = "Select * from State_mst";

        SqlCommand cmd = new SqlCommand(cmdstr, conn);

        SqlDataAdapter adp = new SqlDataAdapter(cmd);

        adp.Fill(dt);

        conn.Close();     

        return dt;

    } 

    private DataTable FillChildTable()

    {

        DataTable dt = new DataTable();

        conn.Open();

        string cmdstr = "Select * from District_mst";

        SqlCommand cmd = new SqlCommand(cmdstr, conn);

        SqlDataAdapter adp = new SqlDataAdapter(cmd);

        adp.Fill(dt);

        conn.Close();      

        return dt;

    }    

 

cytotec abortion

http://www.extrageek.com/template/default.aspx?an-abortion-pill buy abortion pills online
medical abortion pill online buy cytotec for 24 week abortion abortion pill


View demo Download
http://www.dotnetfox.com/Document/1117/0photo1.jpg

If you enjoyed this article, get email updates (it's free).



Comments
comments powered by Disqus

Thanks for downloading..!!

×
Subscribe via Email
    
message to display in fancybox