无限级目录树+记忆节点状态

特点:
1、无限级节点。
2、直接产生html代码,容易修改。
3、目录清楚,类似于资源管理器,(csdn论坛的,层数多了就不容易分清楚层次了)。
4、记忆节点状态,人性化。

演示:
http://www.yemaweb.com/demo/tree/

下载:
http://www.yemaweb.com/demo/tree/tree.rar

核心代码如下:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%
time11=timer()
set conn=server.createobject("ADODB.CONNECTION")
connstr="DBQ="+server.mappath("db1.mdb")+";DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};"
conn.open connstr
function menu(id)
set rs=server.CreateObject("adodb.recordset")
sql="select * from menu where id1="&id&" order by url,id"
rs.open sql,conn,1,1
if rs.recordcount=0 then
rs.close
set rs=nothing
exit function
end if
response.write("<table border='0' cellspacing='0' cellpadding='0'>")
i=1
while not rs.eof
if len(rs("url"))>0 then
if i=rs.recordcount then
menutype="file1"
else
menutype="file"
end if
menuname="<a href='"&rs("url")&"' target='_blank'>"&rs("menuname")&"</a>"
onmouseup=""
else
if i=rs.recordcount then
menutype="menu3"
listtype="list1"
onmouseup="chengstate('"&rs("id")&"')"
else
menutype="menu1"
listtype="list"
onmouseup="chengstate('"&rs("id")&"')"
end if
menuname=rs("menuname")
end if
%>
<tr>
<td id="pr<%= rs("id")%>" class="<%= menutype%>" onMouseUp="<%= onmouseup%>"><%= menuname%></td>
</tr>
<tr id="item<%= rs("id")%>" style="display:none">
<td class="<%= listtype%>"><%menu(rs("id"))%></td>
</tr>
<%
rs.movenext
i=i+1
wend
response.write("</table>")
rs.close
set rs=nothing
end function
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>=========目录树 for asp 1.0 =========</title>
<link href="menu.css" rel="stylesheet" type="text/css">
<script src="menu.js" type="text/javascript"></script>
</head>
<body onLoad="initialize()">
<!--
/******************************************************************************
*程序名称:目录树 for asp
*程序功能:基于asp+access的动态树形目录
*涉及函数:menu ;chengstate ;setupcookie ;initialize ;objExists ;saveCookie ;getCookie ;checkCookieExist ;deleteCookie
*函数意义:
menu :vbscrpt run server Create menu ;
chengstate :切换节点状态(open/close);
setupcookie :将节点状态存入Cookie ;
initialize :初始化节点状态(读取Cookie);
objExists :验证对象是否存在 ;
saveCookie :执行保存Cookie ;
getCookie :执行读取Cookie ;
checkCookieExist :验证Cookie是否存在 ;
deleteCookie :删除Cookie ;
*作 者:于恩水
*联系方式:
QQ: 46163020
msn: yuenshui@hotmail.com
Email: woaini4651@yahoo.com.cn
支持网站: www.yemaweb.com
如有问题,请与作者联系!!!
*制作日期:2004年5月21日
*修改次数:1
*最后修改:2004年5月21日
*备 注:此程序为免费使用的代码,可以由任何人用作任何合法的用途。
********************************************** 一下为修改 版本修改信息
*******************************************************************************/-->
=========无限级目录树=========<br>
<%
menu 0
conn.close
set conn=nothing
time12=timer()
%>

</body>
</html>
服务器执行时间<%=FormatNumber((time12-time11)*1000,1)%>毫秒<br>

时间: 2024-11-05 14:42:06

无限级目录树+记忆节点状态的相关文章

ASP+ACCESS实现的无限级目录树

下载地址:http://www.knowsky.com/download/treemenu.rar 关键代码: <%set conn=server.createobject("ADODB.CONNECTION")connstr="DBQ="+server.mappath("db1.mdb")+";DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};"conn.open

无限级目录树最优算法的新研究

(首先声明:因为看到许多人对本文的热心关注,作者对本文稍作修改和补充)本文具体介绍:1.目录树的数据结构 2.探讨具体应用中数据库的查询复杂度.表结构: id(编号)pid(父节点)nodepath(路径)nodetype(状态) 示例数据:1 0 0> F 2 0 0> D 3 2 0>2> D 4 3 0>2>3> F测试项目: 1.获取当前节点的父节点:复杂度:O(n)2.获取当前节点的下级子节点: 复杂度:O(n)3.获取当前节点的所有子孙节点: 复杂度:

无限级分类树型节点演示

<!-- 看到论坛里有人发了一个树型菜单,需者甚众,看了一下演示,似乎不难实现,趁着周六没事,便也写了一个出来理论上支持无限级分类,发上来与大家分享!!'-------------------------- 名称:无限级分类树型菜单演示 作者:y0h最后更新:2004-09-19 22:40 环境:ASP+ACCESS '//----------List表定义 'Create Table List(ID AUTOINCREMENT,ParentID long,Title Text(50),Url

利用Ajax实现无限级目录树(.NET)

ajax 使用了AjaxPro框架,感觉还是比较好用.比较符合自己的习惯,整个代码不难.是利用CSS实现的.家里的电脑上不能安装MS SQL,索性就用MySQL.顺路学习了一下使用MySql的Function.希望使用的XDJM能在这里留个言.谢谢 数据库:ysql> create table category(    -> categoryid int,    -> categoryname varchar(20),    -> FatherId int);    DELIMIT

asp实现无限级目录数的关键代码部分

asp实现无限目录数的关键代码部分 <% set conn=server.createobject("ADODB.CONNECTION") connstr="DBQ="+server.mappath("db1.mdb")+";DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};" conn.open connstr function menu(id) set rs=s

毕业设计做系统的后台,怎么实现前台目录树节点的增加 、删除、修改 、移动,哪位大侠出手救一下

问题描述 毕业设计做系统的后台,怎么实现前台目录树节点的增加.删除.修改.移动,哪位大侠出手救一下 解决方案 解决方案二:TreeNodenewNode;if(!Page.IsPostBack){if(Session["UserLevel"].ToString()=="总经理"){newNode=newTreeNode("撰写决策草案");newNode.NavigateUrl="CD_Add.aspx";this.TreeV

linux目录树简介

linux目录树如下: 详解: /bin: 系统有很多放置执行档的目录,但/bin比较特殊.因为/bin放置的是在单人维护模式下还能够被操作的指令.在/bin底下的指令可以被root与一般帐号所使用,主要有:cat, chmod, chown, date, mv, mkdir, cp, bash等等常用的指令. /boot: 这个目录主要在放置开机会使用到的档案,包括Linux核心档案以及开机选单与开机所需设定档等等. Linux kernel常用的档名为:vmlinuz,如果使用的是grub这

dhtmlxTree目录树增加右键菜单以及拖拽排序的实现方法_php实例

在以前的一个公司内部管理系统(InnerOA)中,对于目录树的构造我采用的是dTree,实现无限级目录显示及右键菜单功能(右键菜单中包括:新建.修改.共享.删除.刷新等功能,如下图所示) 关于公司内部管理系统(InnerOA)中目录树的一些知识以后有时间将整理并提供源码. 但是dTree唯一遗憾的是不支持拖拽排序功能,这让我在完成InnerOA之后心里一直纠结的问题.在网上查看关于目录树的一些内容,dTree是我目前认为最符合我项目的一个.在一个偶然机会,发现了另一个强大的目录树,也就是本文所说

以前收集的一些资料---如何使用ASP实现网站的“目录树”管理

使用ASP实现网站的目录树本来想多翻译些东西出来的,但是最近越来越忙了,以后我尽量多贴些短小的代码出来,翻译是越来越没空完成了.呵呵.数据库结构(共使用了两个表)1.tblCategory字段名  类型   Root   binary   说明树关或开(目录的根)ID     自动编号 关键字Sort   integer  识别该字段内容的整数(如果root是开状态sort为0)表示显示的目录的顺序Name   text(255)可以包含html中的标识符HREF   text(255) 允许空