c# treeview在指定名称下添加节点!怎么做?

作者&投稿:路临 (若有异议请与网页底部的电邮联系)
c# treeview在指定名称下添加节点!怎么获取指定名称的节点?~

//循环遍历TreeView的每个节点
private void button1_Click(object sender, EventArgs e)
{
ShowNodes(treeView1.Nodes);
}

//遍历所有节点
private void ShowNodes(TreeNodeCollection tnodes)
{
foreach (TreeNode node in tnodes)
{
if (node.Text == "指定的节点名")
{
//给指定的节点增加子节点
node.Nodes.Add("子节点名");
}
ShowNodes(node.Nodes);
}
}

C#里treeview向指定NAME节点添加子节点时应就这样做:
先要用treenode定义节点对象。
TreeView1.SelectedNode.ChildNodes.Add //给选中的添加。TreeView1.Nodes[index].ChildNodes.Add //给指定index的节点添加。
TreeView控件用来显示信息的分级视图,如同Windows里的资源管理器的目录。TreeView控件中的各项信息都有一个与之相关的Node对象。
TreeView显示Node对象的分层目录结构,每个Node对象均由一个Label对象和其相关的位图组成。在建立TreeView控件后,我们可以展开和折叠、显示或隐藏其中的节点。
TreeView控件一般用来显示文件和目录结构、文档中的类层次、索引中的层次和其他具有分层目录结构的信息。

很简单,前提是你的树节点都设置了名字
1,我先添加树节点
TreeNode node = new TreeNode();
node.Text = "所有";
node.Name = "所有";
node.Tag = "所有";
treeView1.Nodes.Add(node);

2,假如数据库查询出来的是“所有”
TreeNode tr = treeView1.Nodes["所有"]; //得到该节点
TreeNode tr1 = new TreeNode(); //声明一个新节点
tr1.Name = "部门一"; //新节点的名字
tr1.Text = "部门一"; //新节点的text属性值
tr.Nodes.Add(tr1); //往查询出来的“所有” 节点下添加这个新节点

如果你的节点都没设置name值,那可以利用循环treeview的nodes集合
然后对比每一个node的text是不是你数据库查询出来的,如果是,那就得到了这个node
然后往这个node下插入一个你想要的节点即可

希望对你有帮助

以下是ext添加Tree的方法。。其实大致是一样的
Ext.Net.TreeNode treeRoot = new Ext.Net.TreeNode("ROOT");//找到最大的控件
treeRoot.Nodes.Add(Report());//汇报模块 在大控件下插入节点。。他是NODES
treeRoot.Nodes.Add(ProjectYearNode());//项目年度计划
treeRoot.Nodes.Add(SpecialPlan());//专项投资计划
ADD() 中我写了方法
他们都返回TreeNode类型 里面定义 添加的属性 title 什么的

//循环遍历TreeView的每个节点
private void button1_Click(object sender, EventArgs e)
{
ShowNodes(treeView1.Nodes);
}

//遍历所有节点
private void ShowNodes(TreeNodeCollection tnodes)
{
foreach (TreeNode node in tnodes)
{
if (node.Text == "指定的节点名")
{
//给指定的节点增加子节点
node.Nodes.Add("子节点名");
}
ShowNodes(node.Nodes);
}
}

个人觉得要递归treeview的所有节点,找到指定名称的节点添加。treeview有没有直接获取的方法我就不知道了。。。


右江区19626853103: c# treeview在指定名称下添加节点!怎么做? -
邓甘力久: 以下是ext添加Tree的方法..其实大致是一样的 Ext.Net.TreeNode treeRoot = new Ext.Net.TreeNode("ROOT");//找到最大的控件 treeRoot.Nodes.Add(Report());//汇报模块 在大控件下插入节点..他是NODES treeRoot.Nodes.Add(ProjectYearNode());//项目年度计划 treeRoot.Nodes.Add(SpecialPlan());//专项投资计划 ADD() 中我写了方法 他们都返回TreeNode类型 里面定义 添加的属性 title 什么的

右江区19626853103: c# treeview在指定名称下添加节点!怎么做?
邓甘力久: 个人觉得要递归treeview的所有节点,找到指定名称的节点添加.treeview有没有直接获取的方法我就不知道了...

右江区19626853103: C#里treeview如何向指定NAME节点添加子节点? -
邓甘力久: C#里treeview向指定NAME节点添加子节点时应就这样做:先要用treenode定义节点对象.TreeView1.SelectedNode.ChildNodes.Add //给选中的添加.TreeView1.Nodes[index].ChildNodes.Add //给指定index的节点添加.TreeView控件用来显示...

右江区19626853103: C# TreeView怎么在指定的节点下添加子节点啊 -
邓甘力久: 你先要用treenode定义节点对象 然后用下面的添加 TreeView1.SelectedNode.ChildNodes.Add //给选中的添加 TreeView1.Nodes[index].ChildNodes.Add //给指定index的节点添加

右江区19626853103: C#里treeview如何向指定NAME节点添加子节点
邓甘力久: TreeNode node=treeView1.SelectedNode; //或者其他节点 node.Nodes.Add(new TreeNode("新节点"));

右江区19626853103: 怎么使用C#中的TreeView控件??我是个新手对那个控件很陌生!! -
邓甘力久: 给你发一个例子看一下,很不错我就是看这个学会用TreeView控件的.你可以试一下,新建一个项目在窗体上加一个treeView1和一个listView1.using System; using System.Collections.Generic; using System.ComponentModel; using System....

右江区19626853103: c#知道treeview 的name值来选中treeview节点 -
邓甘力久: treeView1.Select(); foreach (TreeNode item in treeView1.Nodes) { if (item.Name == "name") treeView1.SelectedNode = item; }

右江区19626853103: C#如何获取treeview树节点中某深度节点的名称? -
邓甘力久: 代码如下: private TreeNode FindNode( TreeNode tnParent, string strValue ) { if( tnParent == null ) return null; if( tnParent.Text == strValue ) return tnParent; TreeNode tnRet = null; foreach( TreeNode tn in tnParent.Nodes ) { tnRet = FindNode( tn, strValue ); if( tnRet != null ) break; } return tnRet; }

右江区19626853103: 在C#winform中使用treeview
邓甘力久: 因为如果你选定的就是最外层的父节点,,那么它不会再有父节点了,,,所以要先判断. private void button3_Click(object sender, EventArgs e) { TreeNode selectNode = treeView1.SelectedNode; //获取选中的节点 TreeNode parentNode = ...

右江区19626853103: C# 如何将treeview中的指定节点处于选定状态 -
邓甘力久: 如果是每个节点都有其特定的Value 而且子节点很多的话 你就最好用递归调用的方法判断每个节点的Value是否和你想要选择的相同 相同就让它Checked 然后退出递归循环.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网