下面的代码中数据库读取是用的我自己的方法,你改成你的方法就可以了
private void Page_Load(object sender, System.EventArgs e)
{
// Put user code to initialize the page here
if(!Page.IsPostBack)
{

MakeTreeRoot();
for(int i=0;i<TreeView1.Nodes.Count;i++)
{
AddSons(TreeView1.Nodes[i]);
}

}
}
void MakeTreeRoot()
{
SqlDataReader reader;
Database data=new Database();
string sql="select * from sMenu where fatherno=0 and NodeType=0";
data.RunSelect(sql,out reader);
while(reader.Read())

Microsoft.Web.UI.WebControls.TreeNode t2=new Microsoft.Web.UI.WebControls.TreeNode(); 
int ID=(int)reader["INO"];
t2.ID=ID.ToString(); 
t2.Text=(string)reader["Text"];
TreeView1.Nodes.Add(t2);

reader.Close(); 
} void AddSons(Microsoft.Web.UI.WebControls.TreeNode t1) 


SqlDataReader reader;
Database data=new Database();
string sql="select * from sMenu where NodeType=0 and fatherno="+t1.ID;
sql+=" order by INO";
data.RunSelect(sql,out reader);
while(reader.Read())

Microsoft.Web.UI.WebControls.TreeNode t2=new Microsoft.Web.UI.WebControls.TreeNode(); 
int ID=(int)reader["INO"];
t2.ID=ID.ToString(); 
t2.Text=(string)reader["Text"];
t1.Nodes.Add(t2);

reader.Close();