问一个超难的问题,在CSDN中没有搜索到!关于下拉列表的问题!各位兄弟姐妹帮忙啊

ldw701 2004-09-21 03:19:52
数据库 类型表中有如下记录:
catalogID catalogName rootid parentid depth childnum
1 一级目录 1 0 2 5
2 二级目录 1 1 1 1
3 三级目录 1 2 0 0
4 四级目录 2 0 0 0
5 五级目录 3 0 3 5
6 六级目录 6 0 3 4
7 七级目录 6 6 0 0
8 八级目录 6 7 0 0



把这些记录提取出来,以树型的方式放在DropDownList中,其中DropDownList的DataFieldValue为catalogID,该如何做啊?各位XDJM帮帮忙啊!
|--一级目录
|--二级目录
|--三级目录
|--四级目录
|--五级目录
|--六级目录
|--七级目录
|--八级目录



其中catalogID为自增字段,catalogName为类型名称,rootid为根节点CatalogID,parentID为父节点ID,depth为当前节点下还有几级节点,childnum为当前节点有多少个节点(包括子节点和孙节点等等)
...全文
426 34 打赏 收藏 转发到动态 举报
写回复
用AI写文章
34 条回复
切换为时间正序
请发表友善的回复…
发表回复
luluso 2004-09-23
  • 打赏
  • 举报
回复
在QQ上己说了。现在给出:
以下就行了..
DropDownList1.Items.Add( new ListItem( myReader["ItemName"].ToString(),myReader["id"].ToString() ) );//增加Item
ldw701 2004-09-23
  • 打赏
  • 举报
回复
同时非常感谢 dandantree(脚癣一次净)提供的思路,正是用你这种思路才使问题得以解决!
ldw701 2004-09-23
  • 打赏
  • 举报
回复
呵呵。。。。。。。多谢各位大虾们踊跃发言,现在问题已经解决,就是编辑文章的时候不知道如何来使dropdownlist的选定项跟记录中的类型一致,就是当数据库中的一条记录的类型为“国际新闻”时,怎样在编辑这条记录的时候使“国际新闻”这一项为选中状态呢?
fanz2000 2004-09-22
  • 打赏
  • 举报
回复
递归算法 用Treeview控件 比较好实现 而且看起来也爽啊!
redfoxhuang 2004-09-22
  • 打赏
  • 举报
回复
递归
cm8983 2004-09-22
  • 打赏
  • 举报
回复
以前做的时候也有这样的想法,发现没有好的且简便的办法改用treeview。

管理员添加信息的时候,treeview加check啊,递归取check为ture的。
yangflyingSQL 2004-09-22
  • 打赏
  • 举报
回复
mark
bidisty 2004-09-22
  • 打赏
  • 举报
回复
为什么没人回答我的问题呀。
haozi1770 2004-09-22
  • 打赏
  • 举报
回复
路过中~
a05 2004-09-22
  • 打赏
  • 举报
回复
先在DropDownList1里添加一级目录
添加完后
if(DropDownList1.Item.Count>0)
{
DropDownList1.SelectedIndes = 0;
//触发2的事件
DropDownList2_SelectedIndexChanged(new object(),new EventArgs());
}

private void DropDownList2_SelectedIndexChanged(object sender, System.EventArgs e)
{
//加载二级目录
if(DropDownList2.Item.Count>0)
{
DropDownList2.SelectedIndes = 0;
//触发3的事件
DropDownList3_SelectedIndexChanged(new object(),new EventArgs());
}
}
以此类推
我是老姚 2004-09-22
  • 打赏
  • 举报
回复
可以自己做一个控件,就叫它作dropdowntreelist吧。
用一个TEXTBOX,一个TREELIST,一个IMGBUTTON就可以作成,可能没有DROPDOWNLIST好用!
wtadminxjeri 2004-09-22
  • 打赏
  • 举报
回复
不会吧,这样做有什么好处呢?不理解啊
------------------------------------------
现在的需求很"变态的",用DropDownList来实现树型结构,我也碰到过
wtadminxjeri 2004-09-22
  • 打赏
  • 举报
回复
可以转一下

DataTable dt=new DataTable();
DataRow dr;
dt.Columns.Add(new DataColumn("名称", typeof(string)));
dt.Columns.Add(new DataColumn("编号",typeof(Int32)));
while(dr1.Read()) //dr1是SqlDataReader对象
{
dr=dt.NewRow();
dr[0]=dr1.GetString(0).Trim();
dr[1]=dr1.GetInt32(1);
dt.Rows.Add(dr);
}
dd1.Items.Clear();
dd1.DataSource=dt;
dd1.DataTextField="名称";
dd1.DataValueField="编号";
dd1.DataBind();
foreach(ListItem item in dd1.Items)
{
item.Text=Server.HtmlDecode(item.Text);
}
tropicscsdn 2004-09-22
  • 打赏
  • 举报
回复
不会吧,这样做有什么好处呢?不理解啊
ldw701 2004-09-22
  • 打赏
  • 举报
回复
要求,value值来自datareader
ldw701 2004-09-22
  • 打赏
  • 举报
回复
问题终于解决!但是还有另外一个问题不知道如何解决,就是在后台代码中绑定dropdownlist的listitem的text属性时该如何同时绑定listitem的value属性!!!求助...............
zpisgod 2004-09-21
  • 打赏
  • 举报
回复
根据depth值在前面加 depth个空格再加|--即可
dandantree 2004-09-21
  • 打赏
  • 举报
回复
很简单的做法,不使用绑定,而使用DropDownList.Items.Add方法,通过DataReader的返回值一项一项的添加,不过要放在一个ArrayList里等待DataReader读完后再添加,并将每个值前面都加上一个|--。
使用递归
当parentId=0的就结束递归,并使用string.SubString方法将其前面的|--去掉,parentId>1的就在前面添加一个空格,用来实现分层效果。
wtadminxjeri 2004-09-21
  • 打赏
  • 举报
回复
Reflector

需要这个,给出邮件发给你
-------------------------------------------------------
不好意思,这个是发错贴了,还劳驾你写了邮箱,是莫须有的事情
ldw701 2004-09-21
  • 打赏
  • 举报
回复
to:wtadminxjeri(P42.4)
谢谢你,测试通过马上揭帖!我的邮箱是laidongwang@softreg.com.cn,再次非常感谢所有回帖的朋友!
加载更多回复(14)
前端人年终技术升级 2h极速入门Vue3.0 年终岁尾,又到了打工人写总结的时候,各位前端工程师,今年你的总结里是否有“Vue3.0”的身影呢? 9月Vue3.0世,对前端人来说,这是技术升级的一大步,同样也是一场学习效率的角逐。  不论你是: Vue2.x的老用户  or  没有接触过Vue的小白; 前端工程师  or  想从事前端岗位的学生   只要你与前端工作有关, Vue3.0的世都可能是你脱颖而出的好机会! 抢先进阶,成为首批Vue3.0开发者,升职、加薪、找工作一路绿灯!   你为Vue3.0入门,准备了多少学习时间? 三天?五天?还是七天? 完全不需要!本门课程可以帮您在2小时内极速入门。 即刻学习 年终完成项目升级 Vue在全球拥有超130万用户,在不同场景均有应用;在国内Vue是最火热的前端框架,迭代后Vue3.0框架更快捷、精悍,容易维护,同时还添加了新特性,对于前端工作者来说,这是一次重要的进阶。   To 学生党&求职者:提升简历丰富度、提高自身价值,增加面试成功的几率 To 前端工程师:完成现有项目的优化升级,全面适配Vue3.0,年终总结上又可以添上一笔啦! 精华知识+名师指导 Vue小白也能快速进阶 没有用过Vue2.0,可以直接学习Vue3.0吗? 答:没,本门课程着重于基础夯实,Vue小白也能轻松掌握。   :学完本门课程,我可以得到什么? 答:你可以建立对Vue知识的认知;       了解Vue的基本使用与调试方法;       掌握Vue的常用指令。   :2个小时的课程,知识要点全面吗? 答:课程围绕Vue3.0入门开讲,全套知识要点浓缩在2个小时的课程,学员每一分钟都可以Get满满干货!   :师资力量有保障吗? 答:本门课程邀请到了南京大学软件工程硕士汤小洋,作为CSDN学院金牌讲师,汤小洋老师在本站拥有超15万学员。  汤小洋老师曾就职于擎天科技、软国际、华为等上市公司,从事软件开发及软件教育培训多年,具有丰富的实战经验,授课耐心细致,通俗易懂,风趣幽默,善于将复杂简单化,曾为多家知名企业进行软件开发实训。

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧