首页 > 代码库 > 使用递归实现省市区树形节点加载
使用递归实现省市区树形节点加载
List<MODEL.Areas> list = null; //定义Areas实体类对象以备接受数据,递归是方法调用方法本身,所以需要定义方法,然后窗体加载的时候调用方法,所以需要在方法体外定义为全局变量 private void FrmAreas_Load(object sender, EventArgs e) { BLL.AreasManager bllarea = new BLL.AreasManager(); list=bllarea.bllareas(); //接受数据 LoadData(0, null); //调用方法,从0开始,然后方法中进行递归,一直到循环结束 } void LoadData(int aid,TreeNode parentNode) //定义方法,定义开始参数和节点参数 { foreach (MODEL.Areas item in list) //遍历接受的Areas实体对象数据 { if(item.APid==aid) //如果Areas对象的APID属性=参数AID { TreeNode node = new TreeNode(item.AName); //则实例化TreeNode节点,并且调用其构造函数 node.Tag = item; //将Areas实体对象存放进Tag标签中 if(parentNode==null) //如果不存在节点,即控件的第一个节点(根节点) { tvlist.Nodes.Add(node); //则添加根节点到树控件中 } else { parentNode.Nodes.Add(node); //否则在节点下面添加子节点 } LoadData(item.AID, node); //调用方法本身,循环添加子节点 } } }
使用递归实现省市区树形节点加载
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。