无限极分类绑定TreeView控件效

下面这是我的数据库的建表代码

create table tree
(
 treeId int identity(1,1) primary key,----主键递增
 treeName varchar(50) not null,----分类名称
 treeNo int default 0---父类ID为0表示第一大类
)

 

下面是我数据库里的数据

treeId      treeName                                           treeNo     
----------- -------------------------------------------------- -----------
1           第一大类                                               0
2           2级分类                                               1
3           3级分类                                               2
4           4级分类                                               3
5           第二大类                                               0
6           2级分类                                               5
7           3级分类                                               6
8           第三大类                                               0
9           第四大类                                               0
10          5级分类                                               4
11          2级分类                                               8
12          3级分类                                               11
13          2级分类                                               9
14          3级分类                                               13

 

asp.net 代码

  1. /// <summary>   
  2. /// 控件绑定   
  3. /// </summary>   
  4. private   void  TreeViewBind()  
  5. {  
  6.     string  sql =  "select * from tree" ;  
  7.     DataSet ds = SqlHelper.dataSet(SqlHelper.connectionString, CommandType.Text, sql);//此处调用了获的dt的代码,不加入了,自己写.   
  8.     DataView dv = ds.Tables[0].DefaultView;  
  9.     dv.RowFilter = "treeNo=0" ;  
  10.     TreeView1.ShowCheckBoxes = TreeNodeTypes.All;  
  11.     foreach  (DataRowView drv  in  dv)  
  12.     {  
  13.         TreeNode node = new  TreeNode();  
  14.         node.Text = drv["treeName" ].ToString();  
  15.         node.Value = drv["treeId" ].ToString();  
  16.         node.Expanded = false ;  
  17.         TreeView1.Nodes.Add(node);  
  18.         AddReplies(dv, node);  
  19.     }  
  20. }  
  21.   
  22. /// <summary>   
  23. /// 递归绑定子节点   
  24. /// </summary>   
  25. /// <param name="dv"></param>   
  26. /// <param name="node"></param>   
  27. private   void  AddReplies(DataView dv, TreeNode node)  
  28. {  
  29.     dv.RowFilter = "treeNo='" +node.Value+ "'" ;  
  30.     foreach  (DataRowView row  in  dv)  
  31.     {  
  32.         TreeNode replyNode = new  TreeNode();  
  33.         replyNode.Text = row["treeName" ].ToString();  
  34.         replyNode.Value = row["treeId" ].ToString();  
  35.         replyNode.Expanded = false ;  
  36.         node.ChildNodes.Add(replyNode);  
  37.         AddReplies(dv, replyNode);  
  38.     }  

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值