web-dev-qa-db-ja.com

ツリービューで、選択したノードのルートノードまたは第1レベルノードをどのように取得しますか?

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

TreeNode node = treeView.SelectedNode;

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

実際の正しいコードは次のとおりです。

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

それ以外の場合は、ループの最後で常にnode = nullを取得します。

ところで、TreeViewにルートが1つしかない場合は、直接treeView.Nodes[0]を使用することを検討できます。その場合、ルートが提供されるためです。

31
digEmAll

これを試して。それは私のために働いた...!

treeView1.TopNode.Expand();
0
Chathura
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);


        }
0
Olga Ivolgin