C#TreeView 无限级别分类实现方法
2018-10-12 14:06
1396 查看
做分类 经常会用到无限级别的分类 先介绍一下数据库的表结构
tid 类别编号
tname 类别名称
pid 父类编号
测试数据就不写了,大家可以自己插入一下试试
查询制定类别的 所有的子类 sql 的 代码
alter proc proc_chaxun
(@tid int )
as
begin
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 tt
end
查询之后获取记录集 绑定到前台的 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("商品类别"));
效果
您可能感兴趣的文章:
相关文章推荐
- C# TreeView无限目录树实现方法
- C#TreeView 实现无线级别分类
- asp实现无限级分类的方法js版
- C# 里TreeView绑定数据库实现分类
- C# 中Treeview无限级目录实现
- TreeView数据绑定的方法(可实现无限递归)
- 结合FlyTreeView 无限级别的分类
- 用C#获取无限多级分类的实现
- C#实现的无限级分类类树形管理
- 用递归的方法实现无限分类
- C# 里TreeView绑定数据库实现分类
- php递归方法实现无限分类实例
- C# 里TreeView绑定数据库实现分类
- 递归实现无限级别分类
- php实现无限级分类实现代码(递归方法)
- 使用TREEVIEW实现无限级分类
- 用C#获取无限多级分类的实现
- 如何C#中实现在TreeView查找某一节点(两种方法)
- 一个好用的php 实现无限分类的方法
- TreeView实现无限级分类示例