1    //建立目录树,从数据库中读出数据
 2    private void BuildTree(RadTreeView tempTV)
 3    {
 4        
 5        SqlDataReader reader;
 6        string insstr = "Select PType,SType1 from SmsGuestType where PublicName='Admin'";
 7        SqlConnection sqlconn= new SqlConnection(ConfigurationManager.ConnectionStrings["MySmsDBConnStr"].ToString());
 8        sqlconn.Open();
 9        SqlCommand cmd = new SqlCommand(insstr, sqlconn);
10        reader=cmd.ExecuteReader();
11       
12        while (reader.Read())
13        {
14            RadTreeNode PType = new RadTreeNode();
15            RadTreeNode SType1 = new RadTreeNode();
16            RadTreeNode temp = new RadTreeNode();
17
18            //如果有父类,则不需要建立父类,直接生成子类
19            temp = tempTV.Nodes.FindNodeByText(reader[0].ToString());
20            if (temp == null)
21            {
22                PType.Text = reader[0].ToString();
23                if (reader[1].ToString() != "")
24                {
25                    SType1.Text = reader[1].ToString();
26                    PType.Nodes.Add(SType1);
27                }

28                tempTV.Nodes.Add(PType);
29            }

30            else
31            {
32
33                    SType1.Text = reader[1].ToString();
34
35                    temp.Nodes.Add(SType1);
36             
37            }

38
39  
40       }

41        reader.Close();
42        sqlconn.Close();
43
44
45    }


数据库结构如下:
PType string 30
SType string 30

数据例子:
1   1-1
1   1-2
2   2-1
3   3-1
3   3-2