c# treeview遍历查找问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c# treeview遍历查找问题相关的知识,希望对你有一定的参考价值。
treeview 如已知结构 ID mc PID
1 A 0
2 B 1
3 C 1
4 N 0
5 E 4
6 F 4
这是两个树形结构存储在数据库中。
现如果在textbox中输入一个信息比如B,然后点确定搜索,将把含有B这个记录的完整树显示在listbox中。谢谢。
private void button4_Click(object sender, EventArgs e)
string username = this.textBox1.Text.ToString().Trim();
if (username == "")
return;
TreeNodeCollection tc = treeView1.Nodes;
this.treeView1.CollapseAll();
FindUser(tc, username);
private void FindUser(TreeNodeCollection tc,string username)
foreach (TreeNode Node in tc)
if (Node.Text.IndexOf(username) >= 0)
this.treeView1.SelectedNode = Node;
Node.ForeColor = Color.Orange;
FindUser(Node.Nodes, username);
一个遍历Treeview节点查找节点名字的例子,
其实就是递归循环所有节点
希望对你有用。如果还有问题可以发消息
参考技术B // 查找人员
private void button4_Click(object sender, EventArgs e)
string username = this.textBox1.Text.ToString().Trim();
if (username == "")
return;
TreeNodeCollection tc = treeView1.Nodes;
this.treeView1.CollapseAll();
FindUser(tc, username);
private void FindUser(TreeNodeCollection tc,string username)
foreach (TreeNode Node in tc)
if (Node.Text.IndexOf(username) >= 0)
this.treeView1.SelectedNode = Node;
Node.ForeColor = Color.Orange;
FindUser(Node.Nodes, username);
一个遍历Treeview节点查找节点名字的例子,
其实就是递归循环所有节点
希望对你有用。如果还有问题可以发消息
另外,团IDC网上有许多产品团购,便宜有口碑 参考技术C 遍历节点的一个方法,能实现无限级。
怎么连接数据库,通过B查询到它的ID,就省略了……
//LastID上一级节点,你这里就是2了,parentNode你的treeview控件名
public void PopulateTreeView(int LastID, TreeNode parentNode)
//由上一级ID,查询当前级的知识点
DataView dv = dt.GetClass("select * from [你的表] where PID=" + LastID.ToString() + " order by ID").DefaultView;
foreach (DataRowView drv in dv) //循环获取当前级节点
TreeNode myNode = new TreeNode(drv["mc"].ToString()); //创建新实例
myNode.Value = drv["ID"].ToString(); //获取节点ID
myNode.Collapse(); //折叠节点
parentNode.ChildNodes.Add(myNode); //把节点信息加入到parentNode中
PopulateTreeView(Convert.ToInt32(drv["ID"].ToString()), myNode); //循环该方法,获取当前节点下的下一级节点
ps.
调用这个方法即可PopulateTreeView(2,treeview1);
其中dt.GetClass()是一个查询数据库返回DataTable的方法~本回答被提问者和网友采纳 参考技术D 具体点啊追问
问题已补充了,先谢谢你哈
c# Treeview 的问题
Treeview控件 如何在运行时,自动选中,并高亮显示已知节点名称的节点??
参考技术A 这个不是很简单吗?你遍历一下,把已知的节点的TEXT赋值成<font><b>高亮</b></font>就行了 参考技术B selectednodestyle 不知道拼错了没 反正是有个节点选中样式的属性 你可以点出来看看 参考技术C http://www.yeshack.com/hack.php?H_name=adv&u=62130这样设置下 比较简单移动 参考技术D Treeview1.Nodes[0].Selected = true;以上是关于c# treeview遍历查找问题的主要内容,如果未能解决你的问题,请参考以下文章
C# winform中,如何获得一个treeview中所有选中的checkbox的文本值?