DropDownList无限级分类的问题在线等,帮忙看看!我用以下代码只显示了父节点两个节点,50分送上帮忙看看是那里写错了

qiujb 2008-01-23 03:15:33
数据库字段:[C_TID] [int] IDENTITY (1, 1) NOT NULL
[P_ID] [int] NULL
[C_Type] [varchar] (30)NULL


数据:

1 0 父节点
2 1 子节点
3 1 子节点
4 0 父节点
5 4 子节点

我用DropDownList 无限级分类代码:

private void BindDropDownList()
{
SCTypeBiz biz = new SCTypeBiz();
DataTable dtSite = biz.SelectAll();

DataRow[] dr = dtSite.Select("P_ID=0");
for (int i=0; i<dr.Length; i++)
{
ddlSite.Items.Add(new ListItem(dr[i]["C_Type"].ToString(), dr[i]["C_TID"].ToString()));
this.BindData(ddlSite, dtSite, dr[i]["C_TID"].ToString(), " ");
}
}

private void BindData(DropDownList ddlSite, DataTable dt, string parentID, string blank)
{
DataRow[] dr = dt.Select("P_ID=" + parentID.ToString());
for (int i=0; i<dr.Length; i++)
{
ddlSite = new DropDownList();
ddlSite.Items.Add(new ListItem(blank + dr[i]["C_Type"].ToString(), dr[i]["C_TID"].ToString()));
this.BindData(ddlSite, dt, dr[i]["C_TID"].ToString(), blank + " ");
}
}
...全文
141 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
qiujb 2008-01-23
  • 打赏
  • 举报
回复
好久没来,怎么结贴都找不到,没时间去找;晚上再看看
qiujb 2008-01-23
  • 打赏
  • 举报
回复
这个问题应该是很简单的,不小心没去看,谢谢upingking
散分
upingking 2008-01-23
  • 打赏
  • 举报
回复
去掉//ddlSite = new DropDownList();
这一行会重新实例化DropDownList,不能在原来的DropDownList上增加item
upingking 2008-01-23
  • 打赏
  • 举报
回复
去掉 ddlSite = new DropDownList();
qiujb 2008-01-23
  • 打赏
  • 举报
回复
先把父节点找出来,这一句应该是正确的
wackyboy 2008-01-23
  • 打赏
  • 举报
回复
因为:DataRow[] dr = dtSite.Select("P_ID=0");
P_ID=0 是父结点

62,249

社区成员

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

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

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

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