一个继承于DropDownList的树状控件

由于工作需要特扩展了一下已有的DropDownList控件,使其能显示树状结构的数据,主要用于那些有层次关系的数据显示。
如下图所示:demo1.jpg
该控件为无限级扩展的,只需要指定其子节点字段名(默认为ID),父节点字段名(默认为parentID),以及第一层父节点的值即可(默认为0)。

1.首先定义常量
protected const string strT="";
protected const string strL="";
protected const string strI="";
protected DataTable tempTable;
protected int lay = 0;//节点层数
protected int level=0;//DropDownList顺序

2.添加属性
属性

3.计算当前节点所在的层以及是否为子节点,是否有兄弟节点等函数,用于生成树形
生成树形时要用的函数

4.递归生成树形
递归生成树形

5.绑定数据
绑定数据
使用的时候调用该函数进行数据绑定!

请大家多多指教以便改进,谢谢!
posted @ 2007-01-25 19:11 缘易姿姿 阅读(1437) 评论(10) 编辑 收藏

 回复 引用 查看   
#1楼 2007-01-26 13:15 Hussar      
根据图示好像有地方算错了
 回复 引用   
#2楼 2007-01-26 16:16 缘易姿姿
@Hussar
没有吧?请指教!
你是不是说test1 和test3那里算错了?
那里没有算错哈,test1已经是它那一层里面的最后一节点了

 回复 引用   
#3楼 2007-01-28 17:52 Fast[未注册用户]
感觉不是太美观,但是还是如果继承于System.Web.UI.Wecontrols.DropDownList也只有做成这样了!
还是支持下搂主!

 回复 引用 查看   
#4楼 2007-02-01 22:27 Hussar      
你不觉得test3前面那个咚咚有点问题啊
 回复 引用   
#5楼 2007-02-02 12:49 缘易姿姿
@Hussar
的确是有点问题,好像应该是├才对!
谢谢提出,去改进下!

 回复 引用   
#6楼 2007-08-19 07:30 Nominee[未注册用户]
楼主能不能把源码直接贴个附件给大家下载啊?

谢谢!

 回复 引用   
#7楼 2007-12-10 14:29 ludl[未注册用户]
搂主能不能给我一份源代码,我现在急需要用DropDownList显示树形结构
我的邮箱:ludeli2004@163.com

多谢了!

 回复 引用 查看   
#8楼 2008-03-21 13:31 shunliy      
能不能实现折叠展开功能。
 回复 引用   
#9楼 2008-06-15 12:25 yskcool2002[未注册用户]
楼主能不能给我发一分附件呢,我按照你的方法试过调试不出来呢!谢谢了!
 回复 引用   
#10楼 2008-12-25 15:13 兄弟 [未注册用户]
搂主能不能给我一份源代码,我现在急需要用DropDownList显示树形结构!

谢谢了 我QQ:253786232