数据库绑定TreeView,使用递归

private void Page_Load(object sender, System.EventArgs e)
  {
   if(!Page.IsPostBack)
   {
   TreeNode newnode=new TreeNode();
    newnode.Text="中国";
    this.TreeView1.Nodes.Add(newnode);
    this.InitTree(this.TreeView1.Nodes[0].Nodes,0,dt);
   }

  }


private void InitTree(TreeNodeCollection Nds,int parentID,DataTable dt)
  {
   TreeNode tmpNd;
   DataRow []rows=dt.Select("ParentID="+parentID);


   //使用foreach语句 来判断递归结束的条件
   foreach(DataRow row in rows)
   {
    tmpNd=new TreeNode();
    tmpNd.ID=row["ID"].ToString();
    tmpNd.Text=row["CityProvince"].ToString();
    Nds.Add(tmpNd);

    InitTree(tmpNd.Nodes,Convert.ToInt32(tmpNd.ID),dt);
   }
  }

原文地址:https://www.cnblogs.com/RobotTech/p/621100.html