Treeview的递归绑定
数据库字段定义
IIDD(numberic) PARENTIIDD(numberic) TYPE(varchar)
源代码:
1
using System;
2
using System.Collections;
3
using System.ComponentModel;
4
using System.Data;
5
using System.Drawing;
6
using System.Web;
7
using System.Web.SessionState;
8
using System.Web.UI;
9
using System.Web.UI.WebControls;
10
using System.Web.UI.HtmlControls;
11
using System.Data.OracleClient;
12
using Microsoft.Web.UI.WebControls;
13
using System.Data.SqlClient;
14
namespace test
15
{
16
/// <summary>
17
/// WebForm5 的摘要说明。
18
/// </summary>
19
public class WebForm5 : System.Web.UI.Page
20
{
21
protected Microsoft.Web.UI.WebControls.TreeView TreeView1;
22
23
private DataTable objDataTable;
24
25
private void Page_Load(object sender, System.EventArgs e)
26
{
27
// 在此处放置用户代码以初始化页面
28
29
30
objDataTable = GetBackupRecord(); //取得所有数据得到DataTable
31
this.CreateTree( TreeView1.Nodes,"0" ); //建立节点
32
}
33
34
Web 窗体设计器生成的代码
54
55
#region 绑定树控件
56
private void CreateTree( TreeNodeCollection node,string parent_id )
57
{
58
DataView dvList = new DataView( this.objDataTable );
59
dvList.RowFilter = "parentiidd=" + parent_id + ""; //过滤父节点
60
TreeNode nodeTemp;
61
foreach ( DataRowView dv in dvList )
62
{
63
nodeTemp = new TreeNode();
64
nodeTemp.ID = dv["iidd"].ToString(); //节点ID
65
nodeTemp.Text = dv["type"].ToString(); //节点名称
66
//nodeTemp.NavigateUrl = dv["ADDRESS"].ToString(); //节点链接地址
67
//nodeTemp.ImageUrl = dv["IMAGE"].ToString(); //节点图片(未展开)
68
//nodeTemp.SelectedImageUrl = dv["IMAGE_EX"].ToString(); //节点图片(展开)
69
nodeTemp.Target = "_parent"; //节点链接Target
70
71
node.Add( nodeTemp ); //加入节点
72
this.CreateTree( nodeTemp.Nodes,nodeTemp.ID ); //递归
73
74
75
76
}
77
}
78
#endregion
79
80
81
#region 得到数据
82
public DataTable GetBackupRecord()
83
{
84
try
85
{
86
87
string str="server=localhost;database=lsa1008pt;uid=sa;pwd=sundun";
88
SqlConnection conn=new SqlConnection(str);
89
SqlDataAdapter da=new SqlDataAdapter("select * from gg_bilu_wenhuatype",conn);
90
91
DataSet dataSet =new DataSet();
92
da.Fill(dataSet);
93
94
return dataSet.Tables[0];
95
}
96
catch(Exception e)
97
{
98
throw e;
99
}
100
}
101
#endregion
102
}
103
}
104
105
using System;2
using System.Collections;3
using System.ComponentModel;4
using System.Data;5
using System.Drawing;6
using System.Web;7
using System.Web.SessionState;8
using System.Web.UI;9
using System.Web.UI.WebControls;10
using System.Web.UI.HtmlControls;11
using System.Data.OracleClient;12
using Microsoft.Web.UI.WebControls;13
using System.Data.SqlClient;14
namespace test15
{16
/// <summary>17
/// WebForm5 的摘要说明。18
/// </summary>19
public class WebForm5 : System.Web.UI.Page20
{21
protected Microsoft.Web.UI.WebControls.TreeView TreeView1;22
23
private DataTable objDataTable;24

25
private void Page_Load(object sender, System.EventArgs e)26
{27
// 在此处放置用户代码以初始化页面28

29
30
objDataTable = GetBackupRecord(); //取得所有数据得到DataTable 31
this.CreateTree( TreeView1.Nodes,"0" ); //建立节点32
}33

34
Web 窗体设计器生成的代码54

55
#region 绑定树控件56
private void CreateTree( TreeNodeCollection node,string parent_id ) 57
{ 58
DataView dvList = new DataView( this.objDataTable ); 59
dvList.RowFilter = "parentiidd=" + parent_id + ""; //过滤父节点 60
TreeNode nodeTemp; 61
foreach ( DataRowView dv in dvList ) 62
{ 63
nodeTemp = new TreeNode(); 64
nodeTemp.ID = dv["iidd"].ToString(); //节点ID 65
nodeTemp.Text = dv["type"].ToString(); //节点名称 66
//nodeTemp.NavigateUrl = dv["ADDRESS"].ToString(); //节点链接地址 67
//nodeTemp.ImageUrl = dv["IMAGE"].ToString(); //节点图片(未展开) 68
//nodeTemp.SelectedImageUrl = dv["IMAGE_EX"].ToString(); //节点图片(展开) 69
nodeTemp.Target = "_parent"; //节点链接Target 70
71
node.Add( nodeTemp ); //加入节点 72
this.CreateTree( nodeTemp.Nodes,nodeTemp.ID ); //递归 73

74
75
76
} 77
}78
#endregion79

80

81
#region 得到数据 82
public DataTable GetBackupRecord()83
{84
try85
{86

87
string str="server=localhost;database=lsa1008pt;uid=sa;pwd=sundun";88
SqlConnection conn=new SqlConnection(str);89
SqlDataAdapter da=new SqlDataAdapter("select * from gg_bilu_wenhuatype",conn);90

91
DataSet dataSet =new DataSet();92
da.Fill(dataSet);93

94
return dataSet.Tables[0];95
}96
catch(Exception e)97
{98
throw e;99
}100
}101
#endregion102
}103
}104

105



浙公网安备 33010602011771号