C# TreeView,递归循环数据加载到treeView1中
2024-09-18 20:09:37
TblAreaBLL bll = new TblAreaBLL();
private void button1_Click(object sender, EventArgs e)
{
LoadDataToTree(this.treeView1.Nodes, bll.GetTblAreaListByID());
} private void LoadDataToTree(TreeNodeCollection treeNode, List<TblArea> list)
{
foreach (TblArea arr in list)
{
TreeNode tree = treeNode.Add(arr.AreaName);
tree.Tag = arr.AreaId;
LoadDataToTree(tree.Nodes, bll.GetTblAreaListByID(arr.AreaId)); //递归循环
}
} private void button2_Click(object sender, EventArgs e)
{
List<TblArea> list = bll.GetTblAreaList(); //获取所有的城市升级列表
LoadDataToTree2(this.treeView1.Nodes, list, ); //先加载所有省级列表
} private void LoadDataToTree2(TreeNodeCollection treeNode, List<TblArea> list, int pid)
{
foreach (TblArea arr in list)
{
if (arr.AreaPId == pid)
{
TreeNode tree = treeNode.Add(arr.AreaName);
tree.Tag = arr.AreaId;
LoadDataToTree2(tree.Nodes, list, arr.AreaId); //递归循环 直接在集合中查询。
}
}
}
//删除节点下的所有数据
private void button3_Click(object sender, EventArgs e)
{
TreeNode node = this.treeView1.SelectedNode;
if (node != null)
{
int areaId = (int)node.Tag;
bll.DeleteTblAreaDiGui(areaId);
this.treeView1.SelectedNode.Remove();
MessageBox.Show("删除成功!");
}
}
最新文章
- spring+hibernate实体类注解详解(非原创) + cascade属性取值
- AC日记——逆波兰表达式 openjudge 3.3 1696
- 异步-学习笔记3 Task
- CodeForces - 699B One Bomb
- vijos p1523 贪吃的九头龙 思考思考再思考,就荒废了4小时
- KVM切换声音关闭
- 关于hive的str_to_map
- linux 文件操作命令
- 谷歌、火狐浏览器gift图片缓存后不显示动态效果
- C语言练习题_邮票组合
- DBA 经典面试题(5)
- asp.net在后台弹出confirm确认对话框并获取用户选择的值做出相应的操作
- 【linux】内核+文件系统下载到开发板
- PLSQL实现分页查询
- javap浅析-书籍第3章的手写稿样稿
- prufer序列
- websocket 工作原理
- python的__str__()和__repr__()方法
- HDU 5829 Rikka with Subset(NTT)
- Lucene.net 性能《第八篇》