C# TreeView,遞歸循環數據加載到treeView1中


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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM