首页 > Windows开发 > 详细

C# TreeView,递归循环数据加载到treeView1中

时间:2014-10-29 21:14:39      阅读:326      评论:0      收藏:0      [点我收藏+]
TblAreaBLL bll = new TblAreaBLL();
        private void button1_Click(object sender, EventArgs e)
        {
            LoadDataToTree(this.treeView1.Nodes, bll.GetTblAreaListByID(0));
        }

        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, 0); //先加载所有省级列表
        }

        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("删除成功!");
            }
        }

 

C# TreeView,递归循环数据加载到treeView1中

原文:http://www.cnblogs.com/han1982/p/4060440.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!