new starting point new beginning
学习、合作、共赢
      昨天逛CSDN时,看到有篇关于TreeView的帖子,功能看似不错.加上自己对这个有些兴趣便弄下来研究了一下.
这是原文章所附的例子[].
      我的例子主要是用递归思想将省市列表弄成了一个树型结构.代码也挺简单.下面是代码:
 1using System;
 2using System.Data;
 3using System.Configuration;
 4using System.Collections;
 5using System.Web;
 6using System.Web.Security;
 7using System.Web.UI;
 8using System.Web.UI.WebControls;
 9using System.Web.UI.WebControls.WebParts;
10using System.Web.UI.HtmlControls;
11using UnivSoft.Data.SqlClient;
12using System.Data.SqlClient;
13
14public 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(20);
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
posted on 2007-02-09 09:44  xpengfee  阅读(473)  评论(0)    收藏  举报