这个问题真的没人回答吗?我给分很痛快的

yihis 2001-12-19 12:49:42
加精
这是我第四遍贴出来了,累计有近200分,谁能解决,我都给他:
SQL SERVER中一个表,有三个字段(id,name,fatherId),其中fatherId指向本表中的id,其中有一个记录没有父节点(即它是根节点),我现在想把这个表采用可折叠树形结构来显示,应当如何处理?敬请高手指教。(事先并不知道树的宽度和高度)
...全文
92 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
yihis 2001-12-20
  • 打赏
  • 举报
回复
结帐。
yihis 2001-12-19
  • 打赏
  • 举报
回复
不对,深度级别我事先不知道,它是动态的。
yihis 2001-12-19
  • 打赏
  • 举报
回复
ok,我试一下,谁想要分就上前面的
“送分:关于数据库中的数据在前台显示的问题,敬请高手指教”
里up一下(好象有好几个,我不知道怎么处理才能把分转过来),今天下班了,我明早结帐,
谢谢mjs2000(宁静致远),谢谢neweb(永不言败) 
mjs2000 2001-12-19
  • 打赏
  • 举报
回复
采用深度递归
Sub ClassView(strClass_No,intSpace)

Dim objClassRs,objBookRs

Set objClassRs=objEReadConn.Execute("Select * From Book_Class Where Pre_No='"& strClass_No &"'")

While Not objClassRs.Eof

If Cint(intSpace)>0 Then

Response.Write "<div id=KB" & objClassRs("Class_No") &"Parent class=parent >" & Vbcrlf
Response.Write TreeSpace(intSpace)
Response.Write "<a href='#' onclick=" + chr(34) +"Select('" &objClassRs("Class_No") & "','"& objClassRs("Class_Name")&"') " + chr(34)+" title='点击选择此分类' onmouseover="& chr(34) & "javascript:window.status='欢迎使用服务系统';return true"& chr(34) &">"
Response.Write "<img src='/images/ball"& Cstr(intSpace) &".gif' width=17 height=16 border=0>" & objClassRs("Class_Name")& "</a></div>" & Vbcrlf

Else

Response.Write "<div id=KB" & objClassRs("Class_No") &"Parent class=parent>" & Vbcrlf
Response.Write TreeSpace(intSpace)
Response.Write "<a href='#' onclick=" + chr(34) +"Select('" &objClassRs("Class_No") & "','"& objClassRs("Class_Name")&"')"+ chr(34)+" title='点击选择此分类' onmouseover="& chr(34) & "javascript:window.status='欢迎使用服务系统';return true"& chr(34) &">"
Response.Write "<img src='/images/ball"& Cstr(intSpace) &".gif' width=17 height=16 border=0>" & objClassRs("Class_Name")& "</a></div>" & Vbcrlf
End If
intSpace=intSpace+1
ClassView objClassRs("Class_No"),intSpace
intSpace=intSpace-1
objClassRs.MoveNext

Wend

objClassRs.Close
Set objClassRs=Nothing

End Sub
我的愿代码,就是你需要的功能,把数据库的名字和字段修改一下就可以了吧。intSpace是深度的级别,不过这里我用来输出空格用的,只是为了显示的好看
yihis 2001-12-19
  • 打赏
  • 举报
回复
不过这是遍历啊,屏显呢?大家多多帮忙啊,我还有一张表是根节点不唯一的呢。。。。。。
我完了。。。。。。
neweb 2001-12-19
  • 打赏
  • 举报
回复
好难啊,如果允许用存储过程,我可以给个思路:

1。先建个临时表(id,name,fatherId)
#temp1
2。首先插入没有父节点的记录
insert #temp1 select top 1 * from tab where fatherid is null or fatherid = ''
3。insert #temp1 (select top 1 * from tab where fatherid = (select top 1 id from #temp1)and id not in (select id from #temp1))
4。循环第三步,直到找不出要插入 #temp1 的记录为止

yihis 2001-12-19
  • 打赏
  • 举报
回复
问题是它不是数据结构,是数据库数据显示。那样会给显示效果造成麻烦
net_star 2001-12-19
  • 打赏
  • 举报
回复
找到根节点,进行深度递归。

28,406

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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