11

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

TreeNode node = treeView.SelectedNode;

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

4 回答 4

34

其实正确的代码是:

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

否则,您将始终node = null处于循环的末尾。

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

于 2010-12-23T16:27:09.843 回答
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);


        }
于 2018-02-10T19:07:39.973 回答
-1

尝试这个。它对我有用......!

treeView1.TopNode.Expand();
于 2017-01-19T03:49:09.883 回答
-8
TreeNode rootNode = treeView1.TopNode;

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

于 2013-03-21T13:18:58.503 回答