C#TreeView 实现无线级别分类
来源:互联网 发布:褥子什么材质的好 知乎 编辑:程序博客网 时间:2024/05/18 17:55
做分类 经常会用到无限级别的分类 先介绍一下数据库的表结构
tid 类别编号
tname 类别名称
pid 父类编号
测试数据就不写了,大家可以自己插入一下试试
查询制定类别的 所有的子类 sql 的 代码
with as 递归查询
alter proc proc_chaxun(@tid int )asbegin with tt as ( select tid,tname,pid from dbo.t_goodsType where tid=@tid union all select t.tid,t.tname,t.pid from dbo.t_goodsType t inner join tt on t.pid=tt.tid ) select * from ttend
查询之后获取记录集 绑定到前台的 TreeView 上面
递归进行添加
/// <summary> /// 给Tree 绑定数据 递归添加子节点 /// </summary> /// <param name="dv">数据视图</param> /// <param name="tnOld">添加数据的节点</param> public void TreeDataBind(DataView dv,TreeNode tnOld) { TreeNode tnNew; //创建一个新的节点 foreach (DataRowView drv in dv) { //为新的借点设置属性 tnNew = tnOld.Nodes.Add(drv["tname"].ToString()); tnNew.Tag = drv["tid"]; //过滤数据视图 父类id = 上一级的tid dv.RowFilter = "pid=" + drv["tid"].ToString(); //自己调用自己 TreeDataBind(dv, tnNew); } }
调用的方法很简单
调用
DataTable dtRet = (DataTable)dh.ExecProcRetObj(ep);DataView dv = new DataView(dtRet); dv.RowFilter = "pid=0";TreeDataBind(dv, this.treeView1.Nodes.Add("商品类别"));
效果
<script type="text/javascript"><!--google_ad_client = "ca-pub-1944176156128447";/* cnblogs 首页横幅 */google_ad_slot = "5419468456";google_ad_width = 728;google_ad_height = 90;//--></script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
- C#TreeView 实现无线级别分类
- 无线级别分类
- thinkphp 无线级别分类
- php 无线级别分类 实现评论回复功能
- 关于thinkphp的无线级别分类
- 递归实现无线分类
- 递归实现无限级别分类
- 使用TREEVIEW实现无限级分类
- C# 里TreeView绑定数据库实现分类
- C# 里TreeView绑定数据库实现分类
- C语言运算符级别分类
- 关于实现无限级别分类的问题?
- asp.net 2.0中treeview控件实现无限级分类
- C# ASP.Net 多级分类Treeview的实现
- 无限分类递归实现TreeView数据绑定代码
- PB下使用TreeView控件实现多级分类检索
- PB实现TreeView多级分类检索(案例)
- C#.net实现动态绑定TreeView
- HDU1061 Rightmost Digit
- 从错误中得知--有关malloc自己容易错的地方。
- 重新想象 Windows 8 Store Apps (16)
- 树状数组
- valgrind
- C#TreeView 实现无线级别分类
- 闲来无事敲代码,各种自挂东南枝(java第五章例题)
- 键盘记录code
- 并查集
- [WPF] 使用Grid与GridSplitter排版布局
- Lua5.1中的API函数
- SilverLight项目里统一设置时间的格式兼容各种windows操作系统
- Telerik Extensions for ASP.NET MVC 中文教程(1)
- poj1722 SUBTRACT