昨天逛CSDN时,看到有篇关于TreeView的帖子,功能看似不错.加上自己对这个有些兴趣便弄下来研究了一下.
这是原文章所附的例子[].
我的例子主要是用递归思想将省市列表弄成了一个树型结构.代码也挺简单.下面是代码:
这是原文章所附的例子[].
我的例子主要是用递归思想将省市列表弄成了一个树型结构.代码也挺简单.下面是代码:
1
using System;
2
using System.Data;
3
using System.Configuration;
4
using System.Collections;
5
using System.Web;
6
using System.Web.Security;
7
using System.Web.UI;
8
using System.Web.UI.WebControls;
9
using System.Web.UI.WebControls.WebParts;
10
using System.Web.UI.HtmlControls;
11
using UnivSoft.Data.SqlClient;
12
using System.Data.SqlClient;
13
14
public partial class Test_MeizTree : System.Web.UI.Page
15
{
16
protected void Page_Load(object sender, EventArgs e)
17
{
18
if (!this.IsPostBack)
19
{
20
string strScripts = "<script language=\"javascript\">addtree('<B>-=省市列表=-</B>');";
21
strScripts += AddTree(2, 0);
22
strScripts += "createtree();</script>";
23
ltl.Text=strScripts;
24
}
25
}
26
//递归实现节点添加
27
private string AddTree(int length, int id)
28
{
29
string strScripts = "";
30
if (length == 2)
31
{
32
SqlDatabaseConnection sqlConnProvince = new SqlDatabaseConnection();
33
sqlConnProvince.WebOpen();
34
35
string strSQLProvince = "select top 2 * from CommonArea where len(iCode)=2";
36
SqlDataReader sdrProvince = sqlConnProvince.ExecuteReader(strSQLProvince);
37
38
while (sdrProvince.Read())
39
{
40
strScripts += "addtree('-" + sdrProvince.GetString(1) + "','" + sdrProvince.GetInt32(3) + "');";
41
strScripts += AddTree(length + 2, sdrProvince.GetInt32(3));
42
}
43
sdrProvince.Close();
44
45
sqlConnProvince.Close();
46
sqlConnProvince.Dispose();
47
}
48
if (length == 4)
49
{
50
SqlDatabaseConnection sqlConnCity = new SqlDatabaseConnection();
51
sqlConnCity.WebOpen();
52
53
string strSQLCity = "select * from CommonArea where len(iCode)=4 and left(iCode,2)="+id;
54
SqlDataReader sdrCity = sqlConnCity.ExecuteReader(strSQLCity);
55
56
while (sdrCity.Read())
57
{
58
strScripts += "addtree('--" + sdrCity.GetString(1) + "','" + sdrCity.GetInt32(3) + "');";
59
strScripts+=AddTree(length + 2, sdrCity.GetInt32(3));
60
}
61
sdrCity.Close();
62
63
sqlConnCity.Close();
64
sqlConnCity.Dispose();
65
}
66
if (length == 6)
67
{
68
SqlDatabaseConnection sqlConnArea = new SqlDatabaseConnection();
69
sqlConnArea.WebOpen();
70
71
string strSQLArea = "select * from CommonArea where len(iCode)=6 and left(iCode,4)=" + id;
72
SqlDataReader sdrArea = sqlConnArea.ExecuteReader(strSQLArea);
73
74
while (sdrArea.Read())
75
{
76
strScripts += "addtree('---" + sdrArea.GetString(1) + "','" + sdrArea.GetInt32(3) + "');";
77
}
78
sdrArea.Close();
79
80
sqlConnArea.Close();
81
sqlConnArea.Dispose();
82
}
83
return strScripts;
84
}
85
}
86
using System;2
using System.Data;3
using System.Configuration;4
using System.Collections;5
using System.Web;6
using System.Web.Security;7
using System.Web.UI;8
using System.Web.UI.WebControls;9
using System.Web.UI.WebControls.WebParts;10
using System.Web.UI.HtmlControls;11
using UnivSoft.Data.SqlClient;12
using System.Data.SqlClient;13

14
public partial class Test_MeizTree : System.Web.UI.Page15
{16
protected void Page_Load(object sender, EventArgs e)17
{18
if (!this.IsPostBack)19
{20
string strScripts = "<script language=\"javascript\">addtree('<B>-=省市列表=-</B>');";21
strScripts += AddTree(2, 0);22
strScripts += "createtree();</script>";23
ltl.Text=strScripts;24
}25
}26
//递归实现节点添加27
private string AddTree(int length, int id)28
{29
string strScripts = "";30
if (length == 2)31
{32
SqlDatabaseConnection sqlConnProvince = new SqlDatabaseConnection();33
sqlConnProvince.WebOpen();34

35
string strSQLProvince = "select top 2 * from CommonArea where len(iCode)=2";36
SqlDataReader sdrProvince = sqlConnProvince.ExecuteReader(strSQLProvince);37

38
while (sdrProvince.Read())39
{40
strScripts += "addtree('-" + sdrProvince.GetString(1) + "','" + sdrProvince.GetInt32(3) + "');";41
strScripts += AddTree(length + 2, sdrProvince.GetInt32(3));42
}43
sdrProvince.Close();44

45
sqlConnProvince.Close();46
sqlConnProvince.Dispose();47
}48
if (length == 4)49
{50
SqlDatabaseConnection sqlConnCity = new SqlDatabaseConnection();51
sqlConnCity.WebOpen();52

53
string strSQLCity = "select * from CommonArea where len(iCode)=4 and left(iCode,2)="+id;54
SqlDataReader sdrCity = sqlConnCity.ExecuteReader(strSQLCity);55

56
while (sdrCity.Read())57
{58
strScripts += "addtree('--" + sdrCity.GetString(1) + "','" + sdrCity.GetInt32(3) + "');";59
strScripts+=AddTree(length + 2, sdrCity.GetInt32(3));60
}61
sdrCity.Close();62

63
sqlConnCity.Close();64
sqlConnCity.Dispose();65
}66
if (length == 6)67
{68
SqlDatabaseConnection sqlConnArea = new SqlDatabaseConnection();69
sqlConnArea.WebOpen();70

71
string strSQLArea = "select * from CommonArea where len(iCode)=6 and left(iCode,4)=" + id;72
SqlDataReader sdrArea = sqlConnArea.ExecuteReader(strSQLArea);73

74
while (sdrArea.Read())75
{76
strScripts += "addtree('---" + sdrArea.GetString(1) + "','" + sdrArea.GetInt32(3) + "');";77
}78
sdrArea.Close();79

80
sqlConnArea.Close();81
sqlConnArea.Dispose();82
}83
return strScripts; 84
}85
}86



浙公网安备 33010602011771号