是否有比下面的代码更直接的方法来获取树视图中的根节点或第一级节点?
TreeNode node = treeView.SelectedNode;
while(node != null)
{
node = node.Parent;
}
其实正确的代码是:
TreeNode node = treeView.SelectedNode;
while (node.Parent != null)
{
node = node.Parent;
}
否则,您将始终node = null
处于循环的末尾。
顺便说一句,如果您确定只有一个根在您的TreeView
,您可以考虑直接使用treeView.Nodes[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);
}
尝试这个。它对我有用......!
treeView1.TopNode.Expand();
TreeNode rootNode = treeView1.TopNode;
这应该是你所需要的。SelectedNode 不需要总是 != null