帝国软件
  设为首页 加入收藏 关于我们
 
解密帝国网站管理系统
栏 目:
 
您的位置:首页 > 技术文档 > ASP编程
一段递归生成类似Windows资源管理器一样效果的树状菜单的代码
作者:Excalibur 发布时间:2005-03-12 来源:chinaasp.com
<HTML>
<HEAD>
<META content="text/html; charset=gb2312" http-equiv=Content-Type>
<SCRIPT lanuage="JScript">
function turnit(ss,ii,aa)
{

if (ss.style.display=="none")
{ss.style.display="";
aa.style.display="";
ii.src="minus.gif";
}

else
{ss.style.display="none";
aa.style.display="none";
ii.src="plus.gif";}
}

function onlyclose(ss,ii,aa)
{
ss.style.display="none";
aa.style.display="none";
ii.src="plus.gif";
}
</SCRIPT>
</HEAD>
<BODY bgColor=#99CCFF>
<%
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 "<TR>" & chr(10)
response.write "<TD> </TD>" & chr(10)
response.write "<TD>"
response.write "<A href='test'>" & NodeName & "</A>"
response.write "</TD>" & chr(10)
response.write "</TR>" & chr(10)
else
'*1.显示本项内容
response.write "<TR>" & chr(10)
response.write "<TD language=JScript onmouseup=turnit(" & _
"Content" & IDIndex & "," & _
"img" & IDIndex & "," & _
"Aux" & IDIndex & ");>" & chr(10)
response.write "<IMG height=9 id=img" & IDIndex & " src='plus.gif' width=9>" & chr(10)
response.write "</TD>" & chr(10)
response.write "<TD>" & chr(10)
response.write "<A href='Frame_4_publish.asp?DocTypeID=" & _
NodeID & "' target='frmFour'>" & NodeName & _
"</A>" & chr(10)
response.write "</TD>" & chr(10)
response.write "</TR>" & chr(10)

'*2.输出子孙树头代码
response.write "<TR>" & chr(10)
response.write "<TD id=Aux" & IDIndex & " style='display: none'> </TD>" & chr(10)
response.write "<TD id=Content" & IDIndex & " style='display: none'>" & chr(10)
response.write "<TABLE border='0'>"
IDIndex = IDIndex + 1

'*3.输出子孙树代码
call DoItem(OlderSon)

'*4.输出子孙树尾代码
response.write "</TABLE>"
response.write "</TD>" & chr(10)
response.write "</TR>" & chr(10)
end if

if YoungerBrother <> "" and YoungerBrother <> "00" then
call DoItem(YoungerBrother)
end if

rsTest.close
set rsTest = nothing
end Sub

response.write "<table border='0'>"
call DoItem("01")
response.write "</table>"

dbConn.close
set dbConn = nothing
%>
</BODY>
</HTML>

  
评论】【加入收藏夹】【 】【打印】【关闭
※ 相关链接
 ·以我与“黑客”的一段遭遇简单谈  (2005-03-12)
 ·ASP创建EXCHANGE用户的一段代码  (2005-03-12)
 ·一段对密码进行加密的脚本  (2005-03-12)
 ·一段加密函数  (2005-03-12)
 ·一段加密函数(base64)  (2005-03-12)
 ·将汉字转换成汉语拼音的一段代码  (2005-03-12)
 ·access数据库表改名的一段代码  (2005-03-12)
 ·在asp中通过getrows实现数据库记  (2005-03-12)
 ·一段在asp中加密与解密对应的函数  (2005-03-12)
 ·经过一段时间的努力,自助建站基  (2003-06-21)

   栏目导行
  PHP编程
  ASP编程
  ASP.NET编程
  JAVA编程
   站点最新
·致合作伙伴的欢迎信
·媒体报道
·帝国软件合作伙伴计划协议
·DiscuzX2.5会员整合通行证发布
·帝国CMS 7.0版本功能建议收集
·帝国网站管理系统2012年授权购买说
·PHPWind8.7会员整合通行证发布
·[官方插件]帝国CMS-访问统计插件
·[官方插件]帝国CMS-sitemap插件
·[官方插件]帝国CMS内容页评论AJAX分
   类别最新
·在ASP中使用数据库
·使用ASP脚本技术
·通过启动脚本来感受ASP的力量
·学习使用ASP对象和组件
·解析asp的脚本语言
·初看ASP-针对初学者
·ASP开发10条经验总结
·ASP之对象总结
·ASP与数据库应用(给初学者)
·关于学习ASP和编程的28个观点
 
关于帝国 | 广告服务 | 联系我们 | 程序开发 | 网站地图 | 留言板 帝国网站管理系统