递归绑定问题

须将根节点的值设为0

oracle数据库结构:
id(varchar32-sys_guid())            bumen(nvarchar2(50))     up_id(varchar(32))
AB95A235C8EA44DEBB89D972D01277EB   a部门
2493C2B2F1D34371BCDECDFF6D0E247D   b部门
4BBDBA04DDBC4A58A57302374A045CBB   c部门
B7878E73BC25450A9774910B9581243C   c部门1班               4BBDBA04DDBC4A58A57302374A045CBB
515C868191694EAC86E180144C685A17   c部门1班               4BBDBA04DDBC4A58A57302374A045CBB
A1A5BD97ABF8438B8A7BCE8DEDAA4BBF   c部门1班             4BBDBA04DDBC4A58A57302374A045CBB
D953F0C14DAC46C1A7F38B7A3CE24214   b部门1班             2493C2B2F1D34371BCDECDFF6D0E247D
285470122951413F96B85B0664FB63C6   b部门1班                2493C2B2F1D34371BCDECDFF6D0E247D
DBF1760DF94E4B1391019B04FC71D72E   e部门

  cs.db_Ora db = new cs.db_Ora();

DataSet ds = new DataSet();

protected void Page_Load(object sender, EventArgs e)

{

if (!IsPostBack)

{

ds = db.execute_DataSet("mis_manager", "select * from bumen");//dataset绑定

bind_Tv(null,(TreeNode)null);

}

}

protected void bind_Tv(string parent_Id, TreeNode p_Node)

{

DataView dvTree = new DataView(ds.Tables[0]);

dvTree.RowFilter = "up_id=" + parent_Id;

foreach (DataRowView row in dvTree)

{

TreeNode tn1 = new TreeNode();

if (p_Node == null)

{

tn1.Text = row["bumen"].ToString();

//tn1.Value = row["id"].ToString();

TreeView1.Nodes.Add(tn1);

//tn1.Expanded = true;

bind_Tv(row["id"].ToString(), tn1);

}

else

{

tn1.Text = row["bumen"].ToString();

//tn1.Value = row["id"].ToString();

p_Node.ChildNodes.Add(tn1);

//tn2.Expanded = true;

bind_Tv(row["id"].ToString(), tn1);

}

}

}

posted @ 2011-03-16 16:39  bingzer  阅读(118)  评论(0)    收藏  举报