c# treeview在指定名称下添加节点!怎么获取指定名称的节点?
2个回答
展开全部
//循环遍历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);
}
}
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);
}
}
展开全部
通过节点的选择事件可以获取,AfterSelect这个事件是指当选择节点之后发生,参数e.Node可以获取现在选择的节点,这样就知道怎么做了吧。。。
追问
我说的不是你这意思,是这样的 :绑定treeview的时候 添加项,我现在想把一条数据绑定到“aa”的下面,也就是说是子菜单,但是这个”aa“是从数据库查询出来的,我现在要查找这个“aa”项,怎么查找进行添加子项
追答
那就通过遍历这个树来找到对应的匹配项
private List nodeList = new List();
//通过递归的方式找出子节点存放到nodeList中
private void FetchNode(TreeNode node)
{
nodeList.Add(node);
for (int i = 0; i < node.Nodes.Count; i++)
{
FetchNode(node.Nodes[i]);
}
}
private void start()
{
for (int i = 0; i < this.treeView1.Nodes.Count; i++)
{
FetchNode(this.treeView1.Nodes[i]);//递归根节点的所有子节点
}
}
//这样能得到所有的节点对象,具体怎么操作可以修改此方法
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询