The article demonstrates how to populate TreeView Control using SqlDataSource at runtime in C#.NET. We can achieve intended result by simply executing SqlCommand Object either by ExecuteReader or ExecuteNonQuery method.
The TreeView control has a Nodes collection with root TreeNode objects. Each TreeNode in turn has its own Nodes collection that holds more than one child TreeNode.
.Nodes.Add (TreeNode node) method adds a new tree node with the specified text to the end of the current tree node collection
Step 1: Declaration of Connection, Command, and DataReader object
SqlConnection Conn = new SqlConnection(“Data Source=.\SQLExpress;
Initial Catalog=NorthWind; Integrated Security=True”);
Step 2: Now, whatever the code required to written for populating the SqlDataSource to the TreeView Control you can place it either into the click, load etc. event handlers.
Step 3: We need to create two TreeNode Objects as follows…
TreeNode parent = treeView1.Nodes.Add(“Suppliers”);
Step 4: Now pass the SqlQuery as an argument of SqlCommand Object and stored the values into SqlDataReader Object.
cmd = new SqlCommand(“SqlQuery”, Conn);
rdr = cmd.ExecuteReader();
Step 5: Now retrieve the values from SqlDataReader and adds it to the Child Nodes of Nodes Collection of TreeView Control.
child = parent.Nodes.Add(“Supplier ID: “ + rdr.GetValue(0).ToString());
child.Nodes.Add(“Name: “ + rdr.GetValue(1).ToString());