b/s和C/S方法用C#遞迴方法把資料表載入到treeview控制項中

來源:互聯網
上載者:User

先看一下資料庫的結構:

表結構如下所示:
Num                   Name                                 fatherNum       BZ
01                      總節點                                      0              ......
0101                   第一個一級節點                          01             ......
010101               第一個一級節點的第一個支節點       0101         ......
010102               第一個一級節點的第二個支節點       0101         ......
010103               第一個一級節點的第三個支節點       0101         ......
0102                   第二個一級節點                          01             ......
010201               第二個一級節點的第一個支節點       0102         ......
0103                   第三個一級節點                          01             ......
010301               第三個一級節點的第一個支節點       0103         ......
01030101           第三個一級節點的第一個支節點       010301      ......

C/S代碼如下:

 

C/S代碼

 1         public void AddTree(string fatherNum, TreeNode pNode)
 2         {
 3  
 4              DataView dvTree = new DataView(ds.Tables[0]);
 5 
 6              dvTree.RowFilter = "[father Num] = " + fatherNum;
 7              foreach (DataRowView Row in dvTree)
 8              {
 9                  TreeNode Node = new TreeNode();
10                  if (pNode == null)
11                  {         //添加根節點   
12                      Node.Text = Row["Name"].ToString();
13  
14                      treeView1.Nodes.Add(Node);
15                      AddTree(Row["Num"].ToString(), Node);         //再次遞迴   
16                  }
17                  else
18                  {       //添加當前節點的子節點   
19                     Node.Text = Row["Name"].ToString();
20                      pNode.Nodes.Add(Node);
21  
22                      AddTree(Row["Num"].ToString(), Node);           //再次遞迴   
23                  }
24              }
25         }
26  
27          DataSet ds = new DataSet();
28          private void Form2_Load(object sender, EventArgs e)
29         {
30              SqlConnection conn = new SqlConnection("server=.;database=test;uid=sa;pwd=;");
31              SqlDataAdapter da = new SqlDataAdapter("select * from test",conn);
32              da.Fill(ds);
33              TreeNode pNode=null;
34              AddTree("0", pNode);
35         }

 

 

下面是B/S結構的代碼:

 

B/S代碼

 1     DataSet ds = new DataSet();
 2     protected void Page_Load(object sender, EventArgs e)
 3     {
 4         if (!IsPostBack)
 5         {
 6             SqlConnection conn = new SqlConnection("server=.;database=test;uid=sa;pwd=;");
 7             SqlDataAdapter da = new SqlDataAdapter("select * from test", conn);
 8             da.Fill(ds);
 9 
10             TreeNode pNode = null;
11             AddTree("0", pNode);
12         }
13 
14     }
15     public void AddTree(string fatherNum, TreeNode pNode)
16     {
17         DataRow[] dr = ds.Tables[0].Select("fatherNum=" + fatherNum);
18         if (dr.Length > 0)
19         {
20             foreach (DataRow d in dr)
21             {
22                 TreeNode tNode = new TreeNode();
23                 tNode.Text = d["Name"].ToString();
24                 if (pNode == null)
25                 {
26                           //添加根節點  
27                     TreeView1.Nodes.Add(tNode);
28                 }
29                 else
30                 {
31                         //添加當前節點的子節點  
32                     pNode.ChildNodes.Add(tNode);
33                     tNode.Collapse();
34                 }
35                 AddTree(d["Num"].ToString(), tNode);       //遞迴 
36             }
37         }
38     }
39 

 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.