11

ツリービューでルートノードまたは第1レベルのノードを取得するための以下のコードよりも簡単な方法はありますか?

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ループの最後に到達します。

ところで、ルートが1つしかない場合は、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 に答える