treeview递归
1.数据库
table A(
ID int pk,
Value varchar,
Fid int
)
A:
ID Value Fid
1 value1 0
2 value2 0
3 value3 1
4 vlaue4 1
5 value5 2
6 value6 2
2.递归
void BindTree(TreeNodeCollection tnc,string fid)
{
DataView dv=ds.Tables[0].DefaultView;//ds为表A的填充容器,ds.Tables[0]即为表A
dv.RowFilter = "[Fid]= " + fid;
TreeNode tn;
foreach (DataRowView item in dv)
{
tn = new TreeNode();
tn.Value = item["ID"].ToString(); //将父级ID作为子级的Fid;
tn.Text = item["Value"].ToString();
tn.Expanded = false;//折叠
tnc.Add(tn);
BindTree(tnc[tnc.Count - 1].ChildNodes, tn.Value);
}
}
3.调用
BindTree(this.TreeView1.Nodes, 0);
4.效果
1 value1 0
3 value3 1
4 vlaue4 1
2 value2 0
5 value5 2
6 value6 2
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)