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

window|菜单|递归

<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=http://www.163design.net/a/y/"minus.gif";
}

else
{ss.style.display="none";
aa.style.display="none";
ii.src=http://www.163design.net/a/y/"http://www.163design.net/a/y/plus.gif";}
}

function onlyclose(ss,ii,aa)
{
ss.style.display="none";
aa.style.display="none";
ii.src=http://www.163design.net/a/y/"http://www.163design.net/a/y/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='http://www.163design.net/a/y/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>

时间: 2024-11-03 13:52:33

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

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

window|菜单|递归 <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="&

生成类似Windows资源管理器

附录:数据结构及测试数据数据库说明 ID:节点IDNodeName:节点名称    BrotherNode:兄弟节点,当前节点的下一个兄弟节点的IDSonNode:子节点,当前节点的第一个子节点的ID 测试数据ID        NodeName        ParentNode    SonNode    BrotherNode01        管理文挡        00        0101        0202        开发文挡        00        0201 

JS+CSS实现类似QQ好友及黑名单效果的树型菜单_javascript技巧

本文实例讲述了JS+CSS实现类似QQ好友及黑名单效果的树型菜单.分享给大家供大家参考.具体如下: 今天介绍的这个菜单堪称极品啊,不过里面的有些图标丢失了,路径还留在那,真想使用的朋友自己制作两个折叠菜单的图标按路径传上去就行了,这个菜单是模仿QQ面板的菜单功能,很多朋友还是很喜欢这种功能的,没想到用这么少的JS代码也可实现 ,值得代签哦. 运行效果截图如下: 在线演示地址如下: http://demo.jb51.net/js/2015/js-css-qq-hy-hmd-style-menu-c

用PHP实现windows资源管理器风格的树型菜单

window|菜单 以下是一个风格类似windows资源管理器的树型菜单 将下面的脚本包含到你的页面中 另外需要从资源管理器中截取一些gif图片,祥见脚本中的注释 菜单结构文件的格式为: tree level|item text|item link|link target|last item in subtree 例如 .<b>Demo menu</b>|javascript: alert('This is the demo menu for TreeMenu 1.0'); ..&

windows-c# 仿制Windows资源管理器

问题描述 c# 仿制Windows资源管理器 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using System.

windows资源管理器老是重启怎么解决

最近有网友反馈电脑经常会出现每隔一段时间windows资源管理器自动重启的情况,严重影响到的用户使用电脑,那么资源管理器老是重启是怎么回事,又该如何解决呢?下面本文将与大家分享下如何解决windows资源管理器老是重启. windows资源管理器重启提示 windows资源管理器重启的原因: 产生windows资源管理器重启的最根本原因是系统资源不足导致,此类问题可能是软件问题,当然也可能是硬件问题.对于解决办法我们通常是先从软件入手,最后再到硬件的排除思路. 资源管理器重启的原因有很多,一般出

用c语言编程Windows资源管理器的模拟实现

问题描述 用c语言编程Windows资源管理器的模拟实现 目的: 通过编程实现windows资源管理器,加深对磁盘.文件夹.文件的理解及编程能力. 内容: 指定有磁盘或文件夹,通过递归的方法搜索该位置下的所有资源并列出相应信息(属性.大小.日期等). 只求源程序就可以了,急求大神救命!!!! 解决方案 http://bbs.csdn.net/topics/380239317 解决方案二: 如果用VC++(VS2010 FP1+),根本无需写一行代码,直接用MFC就可以创建一个资源管理器程序 解决

Windows资源管理器Web视图界面

当我们使用Windows资源管理器(Exporlor)时,看到左边的视图能够显示所选目标的相关信息,比较好用. 本例是一个简单的Web视图界面示例,不过左边不是一个Web视图,而是一个FormView.界面如下图所示: 图一 程序运行画面 本例是最简单的SDI工程,在View中创建了两个View: int CXindowView::OnCreate(LPCREATESTRUCT lpCreateStruct) { if (CView::OnCreate(lpCreateStruct) == -1

Win7的Windows资源管理器总是重启怎么办

  Win7系统Windows资源管理器总是重启的具体解决步骤吧. 具体步骤如下: 一:启动系统配置实用程序 1.使用具有管理员权限的帐户登录到计算机. 2.单击开始菜单,在搜索框中输入msconfig,回车. 如果系统提示输入管理员密码或进行确认,输入密码或单击"继续". 二:配置"有选择的启动"选项 1.在"常规"项中,点击"有选择的启动",勾选下方的"加载启动项". 2.在"服务"