日期:2014-05-18  浏览次数:20411 次

treeview绑定数据库
新手,不会treeview绑定数据库,望给个例子或提示!
            我的表是这样的:
            cDepCode       bDepEnd           cDepName       iDepGrade
              01                 0                       生产部           1
              02                 1                       工程部           1
              03                 0                       采购部           1
              0101             1                       生产一部       2
              0102             1                       生产二部       2
              0301             1                       采购一部       2
              0302             1                       采购二部       2
              04                 0                       业务部           1
              0401             1                       业务一部       2
              0402             1                       业务二部       2

cDepCode是部门编码,bDepEnd表示部门是否末级(0为否,1为是--系统填写),cDepName是部门名称,iDepGrade表示部门级次(由系统填写)。

因为这个表是动态的,所以必须用代码来添加,或者各位有什么好方法,也可以告诉我!拜托大家帮帮忙啊   !

------解决方案--------------------
private void BindTree()
{
DataTable dt = 数据源; //自己去指定。。。
DataView dv = new DataView(dt);
dv.RowFilter = "ParentID is null ";
foreach (DataRowView drv in dv)
{
TreeNode node = new TreeNode();
node.Text = drv[ "Name "].ToString();
node.Value = drv[ "ID "].ToString();
node.ImageUrl = "~/images/folder.GIF ";
node.Expanded = true;
this.tvRight.Nodes.Add(node);
AddReplies(dt,node);
}
}

//递归函数
private void AddReplies(DataTable dt, TreeNode node)
{
DataView dv = new DataView(dt);
dv.RowFilter = "ParentID= ' " + node.Value + " ' ";
foreach (DataRowView row in dv)
{
TreeNode replyNode = new TreeNode();
replyNode.Text = row[ "Name "].ToString();
replyNode.Value = row[ "ID "].ToString();
replyNode.Expanded = false;
node.ChildN