繁体中文
设为首页
加入收藏
当前位置:ASP技术首页 >> ASP应用 >> 一段递归生成类似Windows资源管理器一样效果的树状菜单的代码

一段递归生成类似Windows资源管理器一样效果的树状菜单的代码

2004-10-01 08:26:10  作者:  来源:互联网  浏览次数:91  文字大小:【】【】【
简介:<HTML> <HEAD> <META content="text/html; charset=gb2312" http-equiv=Content-Type> <SCRIPT lanuage="JScript"> function turnit(ss,ii,aa) { if (ss.style.di...

<%

dim dbConn

dim IDIndex

IDIndex = 0

'建立数据库连接

Set dbConn = Server.CreateObject("Adodb.Connection")

dbConn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath ("test.mdb")

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

''生成文件类型树的递归函数,传入参数:NowItem为树节点的ID ''

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Sub DoItem(NowItem)

dim rsTest

dim YoungerBrother '下一个兄弟节点的ID

dim OlderSon '第一个字节点的ID

'建立记录集

set rsTest = Server.CreateObject("Adodb.recordset")

'生成sql语句,操作Doc_TypeTree表

strSql = "select * from tab_test where ID = '" & NowItem & "'"

'生成记录集

rsTest.open strSql,dbConn,1,3

if rsTest.eof then

rsTest.close

set recDosType = nothing

exit sub

end if

YoungerBrother = trim(rsTest("BrotherNode") & "")

OlderSon = trim(rsTest("SonNode") & "")

NodeID = trim(rsTest("ID") & "")

NodeName = trim(rsTest("NodeName") & "")

'显示子节点

if OlderSon = "" or OlderSon = "00" then '当此项无子项时,输出相应的代码

response.write "" & chr(10)

response.write " " & chr(10)

response.write ""

response.write "" & NodeName & ""

response.write "" & chr(10)

response.write "" & chr(10)

else

'*1.显示本项内容

response.write "" & chr(10)

response.write "

"Content" & IDIndex & "," & _

"img" & IDIndex & "," & _

"Aux" & IDIndex & ");>" & chr(10)

response.write "" & chr(10)

response.write "" & chr(10)

response.write "" & chr(10)

response.write "" & NodeName & _

"" & chr(10)

response.write "" & chr(10)

response.write "" & chr(10)

'*2.输出子孙树头代码

response.write "" & chr(10)

response.write " " & chr(10)

response.write "" & chr(10)

response.write ""

IDIndex = IDIndex + 1

'*3.输出子孙树代码

call DoItem(OlderSon)

'*4.输出子孙树尾代码

response.write "

"

response.write "" & chr(10)

response.write "" & chr(10)

end if

if YoungerBrother <> "" and YoungerBrother <> "00" then

call DoItem(YoungerBrother)

end if

rsTest.close

set rsTest = nothing

end Sub

response.write ""

call DoItem("01")

response.write "

"

dbConn.close

set dbConn = nothing

%>

责任编辑:admin
相关文章