2021-11-22 WinFrom面试题 实现一个能动态添加多层次结构的TreeView节点的递归方法(以菜单数据为例)

此篇博客介绍了如何使用C#私有方法`AddTreeNodes`,通过LINQ查询和递归,将具有父子关系的菜单数据结构转化为树形结构,并展示了如何调用该方法以初始化树。关键在于理解节点的添加逻辑和递归遍历的过程。
摘要由CSDN通过智能技术生成

private void AddTreeNodes(List mList, TreeNode pNode, int pId)

​ {

​ var subList = mList.Where(m => m.ParentId == pId);

​ foreach(var child in subList)

​ {

​ TreeNode node= new TreeNode ();

​ node.Name = child.MenuId.ToString();

​ node.Text = child.MenuName;

​ //添加到谁下边

​ if (pNode!= null)

​ pNode.Nodes.Add(node);

​ else

​ tvList.Nodes.Add(node);

​ AddTreeNodes(mList, node, child.MenuId);

​ }

​ }

​ 调用时:AddTreeNodes(allMenus,null,0);即可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值