// 递归添加树的节点
public void AddTree(int ParentID,TreeNode pNode) 
{
DataView dvTree = new DataView(ds.Tables[0]);
//过滤ParentID,得到当前的所有子节点
dvTree.RowFilter =  "[PARENTID] = " + ParentID;
foreach(DataRowView Row in dvTree) 
{
if(pNode == null) 
{    //'̀添加根节点
TreeNode Node = treeView1.Nodes.Add(Row["ConText"].ToString());
AddTree(Int32.Parse(Row["ID"].ToString()),Node);    //再次递归

else 
{   //添加当前节点的子节点
TreeNode Node =  pNode.Nodes.Add(Row["ConText"].ToString());
AddTree(Int32.Parse(Row["ID"].ToString()),Node); //再次递归
}
}
} 在page_load中调用这个函数,网上很多的,你可以搜一搜