b/s和C/S方法用C#递归方法把数据表加载到treeview控件中
2010-05-17 16:00
267 查看
先看一下数据库的结构:
表结构如下所示:
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代码如下:
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
表结构如下所示:
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代码如下:
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
相关文章推荐
- C#递归方法把数据表加载到treeview控件(C/S和B/S)
- b/s和C/S方法用C#递归方法把数据表加载到treeview控件中
- 加载地图数据的几种方法(AE + C#)
- 数据结构(C#)--递归和动态规划法实现斐波那契数列的方法
- winform层级树的数据 递归方法加载
- C# TreeView,递归循环数据加载到treeView1中
- C#递归方法把数据表加载到treeview控件(C/S和B/S)
- 加载地图数据的几种方法(AE + C#)
- C#递归读取XML菜单数据的方法
- 加载地图数据的几种方法(AE + C#)
- C#使用DeflateStream解压缩数据文件的方法
- asp连接不到mssql数据,加载不到ado连接组件的解决方法!
- 实现数据加载过程中菊花的方法
- c#动态加载卸载DLL的方法
- C#判断WebBrowser加载完毕的方法
- C#+ArcEngine:加载打开Shp矢量数据和栅格数据(VS2010窗体+代码)
- 单选按钮和列表框的数据加载,注意equals()方法和==的区别,一个是内容,一个是地址
- C# mysql 插入数据,中文乱码的解决方法
- C#中DataSet用ReadXml从MemoryStream加载数据缺少根元素异常