递归绑定问题
须将根节点的值设为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);
}
}
}

浙公网安备 33010602011771号