数据库绑定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);
}
}