private void Bind() ...{ SqlDataAdapter da = new SqlDataAdapter("select distinct(ParentTitle) from Test", cn); DataSet ds = new DataSet(); da.Fill(ds, "cate"); TreeNode catenode; TreeNode pronode; foreach (DataRow caterow in ds.Tables[0].Rows) ...{ catenode = new TreeNode(); catenode.Text = caterow["ParentTitle"].ToString(); catenode.Value = caterow["ParentTitle"].ToString(); TreeView1.Nodes.Add(catenode); string StrSql = "select SubTitle from Test where ParentTitle='" + catenode.Value + "'"; SqlDataAdapter proda = new SqlDataAdapter(StrSql, cn); proda.Fill(ds, "pro"); if (ds.Tables["pro"].Rows.Count > 0) ...{ foreach (DataRow prorow in ds.Tables["pro"].Rows) ...{ pronode = new TreeNode(); pronode.Text = prorow["SubTitle"].ToString(); pronode.NavigateUrl = "Test.aspx?id=" + prorow["SubTitle"].ToString(); pronode.Value = prorow["SubTitle"].ToString(); catenode.ChildNodes.Add(pronode); } ds.Tables["pro"].Clear(); } } }