0

我有一个带有父节点和子节点的树视图。如果我单击一个节点,我想要在文本框中对该节点的描述。这应该发生在所有节点上。我该怎么做。

我尝试过的代码是:

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)");
         } 

在实现此代码时,我得到了关于页面加载本身的节点的描述。我希望它仅在单击节点后出现。我从数据集中获取描述值。

请帮忙。

4

1 回答 1

0

有一个事件 private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)

在这种情况下,您将获得一个 e.Node。

从“e.Node.getsomething”你可以得到有关所选节点的信息。

于 2012-10-15T09:07:59.627 回答