请一个无限级分类 显示的问题!

wl076 2006-10-23 08:12:11
请问如何在asp.net 2.0 下实现DropDownList 显示无限级分类 表结构如下

TS_ID int
TS_Pid int
TS_Name Varchar(50)

预显示效果如下
总公司
分公司
工程部
财务部
国外分公司
...全文
124 6 打赏 收藏 举报
写回复
6 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
wl076 2006-10-23
  • 打赏
  • 举报
回复
以下是修改过的代码
private void BiudTree()
{
string Mysql = "select * from Ts_Dep";
DataTable dt = MySqlHelper.ExecuteDataset(TS_DateBase.conn, Mysql).Tables[0];
this.LstBM.Items.Clear();
DataRow[] drs = dt.Select("TS_BM_Pid= " + 0);


foreach (DataRow r in drs)
{
string nodeid = r["ts_bm_id"].ToString();
string text = r["ts_bm_name"].ToString();
text = "╋" + text;
this.LstBM.Items.Add(new ListItem(text, nodeid));
int sonparentid = int.Parse(nodeid);
string blank = "├";

BindNode(sonparentid, dt, blank);

}
this.LstBM.DataBind();

}
private void BindNode(int parentid, DataTable dt, string blank)
{
DataRow[] drs = dt.Select("TS_BM_Pid= " + parentid);

foreach (DataRow r in drs)
{
string nodeid = r["ts_bm_id"].ToString();
string text = r["ts_bm_name"].ToString();
text = blank + "『" + text + "』";

this.LstBM.Items.Add(new ListItem(text, nodeid));
int sonparentid = int.Parse(nodeid);
string blank2 = blank + "─";


BindNode(sonparentid, dt, blank2);
}
}
wl076 2006-10-23
  • 打赏
  • 举报
回复
非常感谢 我此问题我已经解决了
aafshzj 2006-10-23
  • 打赏
  • 举报
回复
使用AAF,呵呵。

wl076 2006-10-23
  • 打赏
  • 举报
回复
请问Units 是什么
daishengs 2006-10-23
  • 打赏
  • 举报
回复
private void BiudTree()
{
Units sm=new Units();
DataTable dt=sm.GetList("DelSign='0'").Tables[0];
this.dopUnits.Items.Clear();
DataRow [] drs = dt.Select("PID= " + 0);


foreach( DataRow r in drs )
{
string nodeid=r["ID"].ToString();
string text=r["UnitName"].ToString();
text="╋"+text;
this.dopUnits.Items.Add(new ListItem(text,nodeid));
int sonparentid=int.Parse(nodeid);
string blank="├";

BindNode( sonparentid, dt,blank);

}
this.dopUnits.DataBind();

}
private void BindNode(int parentid,DataTable dt,string blank)
{
DataRow [] drs = dt.Select("PID= " + parentid );

foreach( DataRow r in drs )
{
string nodeid=r["ID"].ToString();
string text=r["UnitName"].ToString();
text=blank+"『"+text+"』";

this.dopUnits.Items.Add(new ListItem(text,nodeid));
int sonparentid=int.Parse(nodeid);
string blank2=blank+"─";


BindNode( sonparentid, dt,blank2);
}
}
shuang8 2006-10-23
  • 打赏
  • 举报
回复
递归~
相关推荐
发帖
.NET社区

6.1w+

社区成员

.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
帖子事件
创建了帖子
2006-10-23 08:12
社区公告

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

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