WinForm递归绑定TreeView
绑定方法
/// <summary> /// 所有地区泛型对象 /// </summary> IList<AreaTInfo> areaList = new List<AreaTInfo>(); private void BindArea(string cityNo,TreeNodeCollection nodes, int level) { List<AreaTInfo> list = new List<AreaTInfo>(); foreach (AreaTInfo ai in areaList) { if (ai.F_AreaSN==cityNo) { list.Add(ai); } } level = level + 1; foreach (AreaTInfo item in list) { TreeNode tnc = new TreeNode(); tnc.Text = item.AreaName; tnc.Tag = item.AreaSN; BindArea(item.AreaSN,tnc.Nodes, level); nodes.Add(tnc); } }
调用方法:
areaList = _proxy.GetAreaInfo().ToList<AreaTInfo>() ;
BindArea("410000",this.treeView1.Nodes, 0);
treeView1.ExpandAll(); /*这句是展开所有节点*/