如何在树视图中获取所选节点的根节点或第一级节点?

时间:2010-12-23 16:18:21

标签: c# .net treeview treenode

是否有比以下代码更直接的方法来获取树视图中的根节点或第一级节点?

TreeNode node = treeView.SelectedNode;

while(node != null)
{
       node = node.Parent;
}    

4 个答案:

答案 0 :(得分:29)

实际上正确的代码是:

TreeNode node = treeView.SelectedNode;
while (node.Parent != null)
{
    node = node.Parent;
} 

否则你总是会在循环结束时获得node = null

顺便说一句,如果您确定在TreeView中只有一个和一个根,则可以考虑直接使用treeView.Nodes[0],因为在这种情况下它会给根。

答案 1 :(得分:1)

试试这个。它为我工作......!

treeView1.TopNode.Expand();

答案 2 :(得分:0)

protected void Submit(object sender, EventArgs e)
        {
           ///naidi root 

            string name = Request.Form["Name"];
            if (String.IsNullOrEmpty(name))
                return;

            if (TreeView1.Nodes.Count <= 1)
            {
                System.Web.UI.WebControls.TreeNode newNode = new TreeNode("Porposal");
                TreeView1.Nodes.Add(newNode);
            }




            System.Web.UI.WebControls.TreeNode newNode1 = new TreeNode(name);
            TreeView1.Nodes[1].ChildNodes.Add(newNode1);


        }

答案 3 :(得分:-8)

TreeNode rootNode = treeView1.TopNode;

这应该是你所需要的。 SelectedNode不需要总是!= null