c# 递归加载省市和地市

private void button1_Click(object sender, EventArgs e)
        {
            int pid = 0;
            //读取TblArea中的数据
            LoadAreaInfo(pid, treeView1.Nodes);
        }

        //加载数据
        private void LoadAreaInfo(int pid, TreeNodeCollection treeNodeCollection)
        {
            //1.先执行查询,查询所有的AreaPid等于pid的
            string sql = "select areaid,areaname from dbo.TblArea where AreaPId=@pid";
            DataTable dt= SqlHelper.ExecuteDataTable(sql, CommandType.Text, new SqlParameter("@pid", pid));
            foreach (DataRow itemDr in dt.Rows)
            {
                //读取数据库中的第二列即[1],绑定到节点上去。
                TreeNode tnode= treeNodeCollection.Add(itemDr[1].ToString());
                //同时保留该节点的第一列[0]的数字编号,便于接下来绑定子节点使用。
                tnode.Tag = itemDr[0];
                //使用递归调用自己,将主节点的数字编号座位参数1,将数据绑定到相应的主节点tnode上去。
                LoadAreaInfo((int)itemDr[0],tnode.Nodes);
            }
        }

猜你喜欢

转载自blog.csdn.net/xoofly/article/details/84317423