treeview 获取子节点在子节点下在添加子节点

asp.net TreeView怎样在根节点上添加子节点_百度知道
asp.net TreeView怎样在根节点上添加子节点
提问者采纳
string[] pan = System.Environment.GetLogicalDrives();
foreach(string s in pan)
TreeNode node = new TreeNode();
node.Text =
this.treeView1.Nodes.Add(node);
string[] child = System.IO.Directory.GetDirectories(node.Text);
foreach(string m in child)
TreeNode node1 = new TreeNode();
node1.Text = m.Substring(m.LastIndexOf(&\\&)+1);
node.Nodes.Add(node1);
this.treeView1.SelectedNode = this.treeView1.Nodes[0];
this.textBox1.Text = this.treeView1.SelectedNode.T
并不完整!截取的一部份!
提问者评价
谢谢你愿意帮我,可是我还是没看明白!
其他类似问题
为您推荐:
其他1条回答
//清空节点treeView1.Nodes.Clear();
//为TreeView增加一个根节点,返回值为刚刚增加的节点。 TreeNode tn = treeView1.Nodes.Add(&节点名字&);
//为当前TreeView的选中节点增加子节点//1.获得当前的选中节点TreeNode tnode = treeView1.SelectedN//2.为选中节点增加子节点TreeNode curNode = tnode.Nodes.Add(&子节点&);
//删除当前选中的节点treeView1.SelectedNode.Remove();
您可能关注的推广
treeview的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁c#winformtreeview,已知其中某一节点,如何添加子结点-c/c++-电脑编程网c#winformtreeview,已知其中某一节点,如何添加子结点作者:shqx2 和相关&&已知某一节点的name和text,要添加一子节点:改怎末写?节点的text=&治安重点部位&;节点的name=''1''写法1://error:未将对象应用到实例treeView1.Nodes[&治安重点部位&].Nodes.Add(addnode);& 写法2://error:没加上子节点TreeNode parentnode = new TreeNode();parentnode.Text = &治安重点部位&; parentnode.Name =&1&;TreeNode childnode = new TreeNode();childnode.text=&child&;childnode.name=&2&;&parentnode.Nodes.Add(childnode);请教各位高手:改如何加呢------回答---------------回答(30分)---------引用 3 楼 shqx2 的回复:不管是name or text ,都error:未将对象引用到实例treeView1.Nodes[&1&].Nodes.Add(addnode);因为节点1不是根节点。treeView1.Nodes只能在根节点中搜索,不会搜索更深层次的节点,试试这个:C# code
treeView1.Nodes.Find(&1&, true)[0].Nodes.Add(&child&);
------回答---------------回答(30分)---------
引用 3 楼 shqx2 的回复:不管是name or text ,都error:未将对象引用到实例treeView1.Nodes[&1&].Nodes.Add(addnode);因为节点1不是根节点。treeView1.Nodes只能在根节点中搜索,不会搜索更深层次的节点,试试这个:C# code
treeView1.Nodes.Find(&1&, true)[0].Nodes.Add(&child&);
相关资料:|||||||c#winformtreeview,已知其中某一节点,如何添加子结点来源网络,如有侵权请告知,即处理!编程Tags:                &                    给treeview的父节点添加对应的子节点
给treeview的父节点添加对应的子节点
用C#语言给treeview的父节点添加对应的子节点
SQL数据库表结构:
计算机技术系
计算机技术系
建筑工程技术系
建筑工程技术系
实现如下效果:
不区分大小写匿名
创建对应数据库表结构的实体类。然后获取表中所有记录封装到List集合中。
在表示层遍历List集合,判断系部名是否已经添加到treeView上了,如果没有就创建一个父节点,将班级名添加到其子节点中。如果已经有该父节点,直接在已经有的父节点上添加子节点。
思路就这样。具体实现自己试一试。弄好了以后遇到这类问题都会很容易解决的。
小弟刚学C#。请给予详细解决,最好是编好的代码文件!
.我只能给你思路。做这个需要大量的时间。既然是刚学就要一步步来。首先做好怎样从数据库中读取数据封装到模型对象中。然后再考虑怎样去处理添加节点到TreeView的逻辑。一步步来。做有需要和数据库交互的一般都要做成三层架构的。我这里倒是做了一个验证用户登录的简单示例。如果需要的话可以写上邮箱。给你对应的答案代码是没多大效果的。
using Susing System.Collections.GponentMusing System.Dusing System.Dusing System.Tusing System.Windows.Fusing System.X
namespace XMLOperate{
public partial class Form1 : Form
//声明XML文档对象模型
//选中的节点
TreeNode selectN
public Form1()
InitializeComponent();
//实例化文档模型
this.document = new XmlDocument();
private void btnExit_Click(object sender, EventArgs e)
Application.Exit();
//添加根元素还是子元素
bool isPater =
private void btnAppend_Click(object sender, EventArgs e)
//没果没有根元素
if (isPater)
string root = this.txtElement.Text.Trim();
this.trvXml.Nodes.Add(root);
this.document.LoadXml("&" + root + "&&/" + root + "&");
this.isPater =
this.btnInsert.Enabled =
this.btnRemove.Enabled =
this.btnReplace.Enabled =
this.btnSave.Enabled =
this.trvXml.SelectedNode = this.trvXml.Nodes[0];
this.txtElement.Clear();
if (this.trvXml.SelectedNode != null)
string element = this.txtElement.Text.Trim();
this.selectNode.Nodes.Add(element);
XmlNodeList nodelist = this.document.GetElementsByTagName(this.selectNode.Text);
int nodeCount = nodelist.C
//循环添加可能有多个元素
for (int i = 0; i & nodeC i++)
XmlNode node = this.document.CreateElement(element);
nodelist.Item(i).AppendChild(node);
catch (Exception ex)
MessageBox.Show(ex.Message);
//根据选中节点位置来更新树信息
private void trvXml_AfterSelect(object sender, TreeViewEventArgs e)
this.selectNode = e.N
private void btnSave_Click(object sender, EventArgs e)
//确定是否要保存
if (this.saveFileDialog1.ShowDialog() == DialogResult.OK)
string filePath = this.saveFileDialog1.FileN
this.document.Save(filePath);
MessageBox.Show("保存成功");
catch (Exception ex)
MessageBox.Show(ex.Message);
private void btnInsert_Click(object sender, EventArgs e)
if (this.trvXml.SelectedNode != null)
//找到当前选中节点的索引
string element = this.txtElement.Text.Trim();
this.selectNode.Parent.Nodes.Insert(this.selectNode.Index + 1, element);
XmlNodeList nodelist = this.document.GetElementsByTagName(this.selectNode.Text);
int nodeCount = nodelist.C
//循环添加可能有多个元素
for (int i = 0; i & nodeC i++)
XmlNode node = this.document.CreateElement(element);
//将指定节点插入选中节点之后
nodelist.Item(i).ParentNode.InsertAfter(node, nodelist.Item(i));
this.txtElement.Clear();
catch (Exception ex)
MessageBox.Show(ex.Message);
private void btnReplace_Click(object sender, EventArgs e)
//找到当前选中节点的索引
string element = this.txtElement.Text.Trim();
//先添加进去再删除它
this.selectNode.Parent.Nodes.Insert(this.selectNode.Index,element);
this.trvXml.Nodes.Remove(this.selectNode);
XmlNodeList nodelist = this.document.GetElementsByTagName(this.selectNode.Text);
int nodeCount = nodelist.C
//循环添加可能有多个元素
for (int i = 0; i & nodeC i++)
XmlNode node = this.document.CreateElement(element);
//替换节点
nodelist.Item(i).ParentNode.RemoveChild(nodelist.Item(i));
nodelist.Item(i).ParentNode.InsertAfter(node, nodelist.Item(i));
this.txtElement.Clear();
catch (Exception ex)
MessageBox.Show(ex.Message);
private void btnRemove_Click(object sender, EventArgs e)
//如果全删除全完了,则需要重新添加根元素
if (this.trvXml.Nodes.Count & 0)
this.isPater =
this.trvXml.Nodes.Remove(this.selectNode);
XmlNodeList nodelist = this.document.GetElementsByTagName(this.selectNode.Text);
int nodeCount = nodelist.C
//循环添加可能有多个元素
for (int i = 0; i & nodeC i++)
nodelist.Item(i).ParentNode.RemoveChild(nodelist.Item(i));
catch (Exception ex)
MessageBox.Show(ex.Message);
相关知识等待您来回答
编程领域专家
& &SOGOU - 京ICP证050897号修复jquery.treeview的增加子节点的方法的bug
 1.修复理由
  在一个android项目中用到了treeview控件(本来自己通过android的原生api实现了一个/Mr-Nobody/p/3527688.,但是动画效果总是有点小问题,实在是击碎我那小小的自信心,于是果断转用webview+js插件实现了。)。本来js插件里优秀的tree控件很多,比如国内著名的ztree,还有各大ui控件的自带tree。不过要数最简单易用就要数最为经典的jquery.treeview了。而且动画效果也还行,我就是看中了其轻便,动画效果好,而且也比较容易用。。(其它的tree暂时还没有接触过。。)。,所以就采用了它的。
  2.修复过程
在jquery.treeview中增加子节点的方法是:
&View Code
但是此方法有个很严重的问题,就是增加的节点必须只能是li。如果是在一个没有子节点的节点中插入子节点时,该节点的展开按钮是没有的,也就是父级的事件没有绑定上去。。
于是乎照着这个思路写了几个hack的写法,都没有用,于是一狠心就上了源代码。。还好大神的代码不多,虽然以自己目前的水平看懂大神的代码还有几个地球到月球的距离,但是
好在大神代码不多,用ctrl+F也搜索到了。
略加猜测,便在这里加上了几行代码。。
var branch=$(&&li&&span&child1&/span&&/li&&).appendTo(parentLi);
$(&#tree&).treeview({
add:branch
居然人品爆发,一次成功了!

我要回帖

更多关于 treeview 获取子节点 的文章

 

随机推荐