Click here to Skip to main content
15,880,405 members
Please Sign up or sign in to vote.
5.00/5 (1 vote)
Hi all,

I have a tree view with parent and child nodes. If i click on a nodes, I want the description about that node in a textbox. this should happen for all the nodes. how should I do this.

My code behind I have tried is:
private void fetchtreeview()
       {
           TVContent.Nodes.Clear();
           DataTable topics = dsSOW.Tables["Tableofcontents$"];
           drText = dsSOW.Tables["Tableofcontents" + "$"].Select("Mappingcode is NULL");
           if (drText.Length > 0)
           {
               foreach (DataRow drItem in drText)
               {
                   string ss = drItem.ItemArray[1].ToString();

                   string ss1 = drItem.ItemArray[0].ToString();
                   if (ss1 != string.Empty)
                   {
                       TreeNode node = new TreeNode(ss, ss1);
                       //txtArea.Text = node.Text;
                       node.PopulateOnDemand = false;
                       TVContent.Nodes.Add(node);

                       PopulateNode(node);
                   }
               }
           }
       }
       protected void PopulateNode(TreeNode node1)
       {
           decimal order = Convert.ToDecimal(node1.Value);
           drText = dsSOW.Tables["Tableofcontents" + "$"].Select("Mappingcode='" + order + "'");
            if (drText.Length > 0)
           {
               foreach (DataRow drItem in drText)
                {
                   string ss = drItem.ItemArray[1].ToString();
                   string ss1 = drItem.ItemArray[0].ToString();
                   //decimal order1 = Convert.ToDecimal(ss1.ToString());
                   TreeNode node = new TreeNode(ss, ss1);
                   DataRow[] drText1 = dsSOW.Tables["Content" + "$"].Select("contentcode='" + ss1 + "'");
                   if (drText1.Length > 0)
                   {
                      foreach (DataRow drItem1 in drText1)
                       {
                           txtArea.Text = txtArea.Text + drItem1.ItemArray[1].ToString();
                       }
                   }
                   node1.ChildNodes.Add(node);
                   snode = node.Value;
                   if (snode != string.Empty)
                   {
                       drText = dsSOW.Tables["Tableofcontents$"].Select("Mappingcode='" + snode + "'");
                       if (drText.Length > 0)
                       {
                           PopulateNode(node);
                       }
                   }
               }
             }
           TVContent.Attributes.Add("OnClick", "OnTreeClick(event)");
           //TVContent.Attributes.Add("onmouseover", "showToolTip(event)");
            }


On implementing this code, I am getting the descriptions about the nodes in page load itself.. I want that to appear only after i click the nodes. And i fetch values for description from a dataset.

Please Help.!
Thanku.!
Posted

hi

check out the following links
link1[^]
link2[^]
 
Share this answer
 
u can try selectindxchanged event for tree nodes
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900