动态生成树型菜单
数据库脚本:
use master
go
if exists (select * from sysdatabases where name = 'tree')
drop database tree
go
create database tree
on
(
Name = 'tree_data', --主数据文件的逻辑名称
FileName = 'D:/tree_data.mdf', --数据文件的物理名称
Size = 5Mb, -- 主数据文件的初始大小
FileGrowth = 20% --主数据文件增长率
)
log on
(
Name = 'tree_log',
FileName = 'd:/tree_log.ldf',
Size = 3Mb,
FileGrowth = 10%
)
go
if exists (select * from sysobjects where name = 'dtree')
drop table dtree
go
use tree
go
/*--- 创建节点表 ---*/
create table dtree
(
id varchar(20) , --节点编号
pid varchar(20) , --父节点
[name] varchar(20), --节点名称
url varchar(20), --连接地址
title varchar(20), --节点描述
target varchar(20), --Target
icon varchar(20), --图标
iconOpen varchar(20), --展开状态下的图标路径
[open] varchar(20) --是否展开
)
/*--- 初始化测试数据 ---*/
insert into dtree values('0','-1','T16班','index.jsp','blank','','','','')
insert into dtree values('1','0','教师','index.jsp','blank','','','','')
insert into dtree values('2','0','班干部','index.jsp','blank','','','','')
insert into dtree values('3','0','组长','index.jsp','blank','','','','')
insert into dtree values('4','0','学员','index.jsp','blank','','','','')
insert into dtree values('5','1','班主任','index.jsp','blank','','','','')
insert into dtree values('6','1','教员','index.jsp','blank','','','','')
insert into dtree values('7','2','班长','index.jsp','blank','','','','')
insert into dtree values('8','2','学委','index.jsp','blank','','','','')
insert into dtree values('9','4','学员1','index.jsp','blank','','','','')
insert into dtree values('10','4','学员2','index.jsp','blank','','','','')
insert into dtree values('11','4','学员3','index.jsp','blank','','','','')
insert into dtree values('12','4','学员4','index.jsp','blank','','','','')
insert into dtree values('13','4','学员5','index.jsp','blank','','','','')
insert into dtree values('14','4','学员6','index.jsp','blank','','','','')
insert into dtree values('15','4','学员7','index.jsp','blank','','','','')
insert into dtree values('16','4','学员8','index.jsp','blank','','','','')
insert into dtree values('17','4','学员9','index.jsp','blank','','','','')
insert into dtree values('18','4','学员10','index.jsp','blank','','','','')
insert into dtree values('19','4','学员11','index.jsp','blank','','','','')
insert into dtree values('20','4','学员12','index.jsp','blank','','','','')
insert into dtree values('21','4','学员13','index.jsp','blank','','','','')
insert into dtree values('22','4','学员14','index.jsp','blank','','','','')
insert into dtree values('23','4','学员15','index.jsp','blank','','','','')
select id,pid,[name],url,title,target,icon,iconOpen,[open] from dtree
go
if exists (select * from sysdatabases where name = 'tree')
drop database tree
go
create database tree
on
(
Name = 'tree_data', --主数据文件的逻辑名称
FileName = 'D:/tree_data.mdf', --数据文件的物理名称
Size = 5Mb, -- 主数据文件的初始大小
FileGrowth = 20% --主数据文件增长率
)
log on
(
Name = 'tree_log',
FileName = 'd:/tree_log.ldf',
Size = 3Mb,
FileGrowth = 10%
)
go
if exists (select * from sysobjects where name = 'dtree')
drop table dtree
go
use tree
go
/*--- 创建节点表 ---*/
create table dtree
(
id varchar(20) , --节点编号
pid varchar(20) , --父节点
[name] varchar(20), --节点名称
url varchar(20), --连接地址
title varchar(20), --节点描述
target varchar(20), --Target
icon varchar(20), --图标
iconOpen varchar(20), --展开状态下的图标路径
[open] varchar(20) --是否展开
)
/*--- 初始化测试数据 ---*/
insert into dtree values('0','-1','T16班','index.jsp','blank','','','','')
insert into dtree values('1','0','教师','index.jsp','blank','','','','')
insert into dtree values('2','0','班干部','index.jsp','blank','','','','')
insert into dtree values('3','0','组长','index.jsp','blank','','','','')
insert into dtree values('4','0','学员','index.jsp','blank','','','','')
insert into dtree values('5','1','班主任','index.jsp','blank','','','','')
insert into dtree values('6','1','教员','index.jsp','blank','','','','')
insert into dtree values('7','2','班长','index.jsp','blank','','','','')
insert into dtree values('8','2','学委','index.jsp','blank','','','','')
insert into dtree values('9','4','学员1','index.jsp','blank','','','','')
insert into dtree values('10','4','学员2','index.jsp','blank','','','','')
insert into dtree values('11','4','学员3','index.jsp','blank','','','','')
insert into dtree values('12','4','学员4','index.jsp','blank','','','','')
insert into dtree values('13','4','学员5','index.jsp','blank','','','','')
insert into dtree values('14','4','学员6','index.jsp','blank','','','','')
insert into dtree values('15','4','学员7','index.jsp','blank','','','','')
insert into dtree values('16','4','学员8','index.jsp','blank','','','','')
insert into dtree values('17','4','学员9','index.jsp','blank','','','','')
insert into dtree values('18','4','学员10','index.jsp','blank','','','','')
insert into dtree values('19','4','学员11','index.jsp','blank','','','','')
insert into dtree values('20','4','学员12','index.jsp','blank','','','','')
insert into dtree values('21','4','学员13','index.jsp','blank','','','','')
insert into dtree values('22','4','学员14','index.jsp','blank','','','','')
insert into dtree values('23','4','学员15','index.jsp','blank','','','','')
select id,pid,[name],url,title,target,icon,iconOpen,[open] from dtree
客户端代码 index.jsp:
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@page import="com.zsw.biz.TreeNodeBiz;"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>树形菜单</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<link rel="StyleSheet" href="dtree.css" type="text/css" />
<script type="text/javascript" src="dtree.js"></script>
</head>
<body>
<div>
<%
TreeNodeBiz tnb = new TreeNodeBiz();
%>
<script type="text/javascript">
d = <%= tnb.getList("dtree") %>
document.write(d);
</script>
</div>
</body>
</html>
<%@page import="com.zsw.biz.TreeNodeBiz;"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>树形菜单</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<link rel="StyleSheet" href="dtree.css" type="text/css" />
<script type="text/javascript" src="dtree.js"></script>
</head>
<body>
<div>
<%
TreeNodeBiz tnb = new TreeNodeBiz();
%>
<script type="text/javascript">
d = <%= tnb.getList("dtree") %>
document.write(d);
</script>
</div>
</body>
</html>
转换成节点数据转换成js文件 关键代码:
if(list==null || list.size() == 0){
System.out.println("没有节点");
return "";
}
StringBuffer contents = new StringBuffer();
contents.append("dtree = new dTree('"+dtree+"');");
for(TreeNode tn : list){
contents.append("/n");
contents.append(dtree+".add('");
contents.append(tn.getId());
contents.append("','");
contents.append(tn.getPid());
contents.append("','");
contents.append(tn.getName());
contents.append("','");
contents.append(tn.getUrl());
contents.append("','");
contents.append(tn.getTitle());
contents.append("','");
contents.append(tn.getTarget());
contents.append("','");
contents.append(tn.getIcon());
contents.append("','");
contents.append(tn.getIconOpen());
contents.append("','");
contents.append(tn.getOpen());
contents.append("');");
contents.append("/n");
}
System.out.println("没有节点");
return "";
}
StringBuffer contents = new StringBuffer();
contents.append("dtree = new dTree('"+dtree+"');");
for(TreeNode tn : list){
contents.append("/n");
contents.append(dtree+".add('");
contents.append(tn.getId());
contents.append("','");
contents.append(tn.getPid());
contents.append("','");
contents.append(tn.getName());
contents.append("','");
contents.append(tn.getUrl());
contents.append("','");
contents.append(tn.getTitle());
contents.append("','");
contents.append(tn.getTarget());
contents.append("','");
contents.append(tn.getIcon());
contents.append("','");
contents.append(tn.getIconOpen());
contents.append("','");
contents.append(tn.getOpen());
contents.append("');");
contents.append("/n");
}
客户端的代码:
需要导入:dtree.js 和dtree.css
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@page import="com.zsw.biz.TreeNodeBiz;"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>树形菜单</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<link rel="StyleSheet" href="dtree.css" type="text/css" />
<script type="text/javascript" src="dtree.js"></script>
</head>
<body>
<p><a href="javascript: d.openAll();">全部展开</a> |
<a href="javascript: d.closeAll();">全部关闭</a>
</p>
<div>
<%
TreeNodeBiz tnb = new TreeNodeBiz();
%>
<script type="text/javascript">
d = <%= tnb.getList("dtree") %>
document.write(d);
</script>
</div>
</body>
</html>
<%@page import="com.zsw.biz.TreeNodeBiz;"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>树形菜单</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<link rel="StyleSheet" href="dtree.css" type="text/css" />
<script type="text/javascript" src="dtree.js"></script>
</head>
<body>
<p><a href="javascript: d.openAll();">全部展开</a> |
<a href="javascript: d.closeAll();">全部关闭</a>
</p>
<div>
<%
TreeNodeBiz tnb = new TreeNodeBiz();
%>
<script type="text/javascript">
d = <%= tnb.getList("dtree") %>
document.write(d);
</script>
</div>
</body>
</html>
相关推荐
DTree是一款优秀的JavaScript控件,专为生成动态、交互式的树形菜单而设计。它的主要优势在于其轻量级、易于使用和高度可定制性,使得开发者可以轻松地在网页中实现复杂的树状布局。 **DTree核心特性:** 1. **...
DTree是一款基于JavaScript编写的高效、易用的树形菜单控件,被广泛应用于网页界面设计中,以提供用户友好的交互体验。该控件以其灵活性和强大的功能,深受前端开发者的喜爱。在这个压缩包中,包含的是DTree的核心...
"多种树形菜单"这一主题聚焦于JavaScript中的dTree控件,它是一个强大且灵活的工具,专门用于创建这种交互式的树形菜单。 dTree控件的核心特性在于它的易用性和可扩展性。首先,dTree支持无限级别的分级,这意味着...
【dtree:JavaScript实现的简单树形菜单组件】 在网页开发中,为了更好地组织和展示层级关系复杂的数据,树形控件(Tree View)是一种常用的设计元素。`dtree`是一个专为此目的设计的轻量级JavaScript组件,它提供...
JavaScript树形菜单控件是一种常见的前端交互元素,用于在网页中展示层次结构的数据,比如网站导航、文件系统或组织架构等。"dTree"是其中一个流行的JavaScript库,它提供了创建可扩展、多级的树形菜单功能。在这个...
通过以上解析,我们可以看出,JS树形菜单控件的实现不仅涉及到DOM操作和事件处理,还涉及到数据结构的管理和配置选项的灵活设置。这种控件的使用能够极大地提升Web应用中数据展示的效率和用户体验。理解并掌握这些...
在给定的标题和描述中,我们看到提到了多个JavaScript实现的树形菜单控件,如dtree、无限级树状菜单、struts+h ibernate树形菜单、treeview、xmltree以及dhtmltree等。接下来,我们将深入探讨这些控件及其在实际应用...
【dtree树形菜单范例】是一个用于构建多级子节点树形菜单的插件,主要应用于网页设计,尤其适用于网站后台和用户中心的导航。这个插件以其易用性和知名度,成为许多开发者构建层级结构清晰、交互友好的菜单系统的...
dTree是一个纯JavaScript实现的树形控件,它可以无需依赖任何其他库独立工作,但与jQuery结合使用时,可以更好地利用jQuery提供的DOM操作、事件处理和动画效果。dTree提供了创建、遍历和操作树形结构的API,允许...
dtree是由节点(通常包括父节点和子节点)构成的树形结构,每个节点可以代表一个类别或数据项。用户可以通过点击节点来展开或折叠其子节点,以显示或隐藏更多信息。这种交互方式使用户能够快速浏览和理解复杂的数据...
描述中提到的“-号风格的经典树形菜单控件”是指在每个节点旁边通常会有一个“-”符号,用户可以通过点击这个符号来展开或折叠对应的子节点。这种视觉表示方式直观易懂,用户可以通过简单的交互操作来控制树的可见...
DTree(通常指的是JavaScript实现的树形控件)允许用户通过勾选节点来实现多选功能,提升了用户在大量数据中的选择效率。以下将详细介绍dtree实现多选树的核心知识点: 1. **DHTML与JavaScript基础**:DTree基于...
本文将详细介绍如何使用 ASP.NET AJAX 结合 JavaScript 实现一个无限级的树形菜单。此类型的菜单广泛应用于各类网站及应用中,特别是在那些需要展示层级结构数据的场景下。通过本教程的学习,你将能够理解并实现一个...
以下是一些关于“js树形菜单”的核心知识点: 1. **jQuery CheckTree**:压缩包中的`jquery.checktree.js`和`jquery.checktree.0.3b1.js`是基于jQuery库的树形菜单插件。jQuery是一个广泛使用的JavaScript库,它...
"js动态树合集dhtmlXTree和dtree.rar"是一个压缩包,包含两种流行的JavaScript树形控件:dhtmlXTree和dtree。这些控件允许开发者在网页中创建可交互的树状结构,用于数据展示、导航或层级数据管理。 首先,...
目前有很多的树形菜单组件(比如ext),dtree是一种简单易懂的js组件,不需要复杂的操作即可生产,同时支持动态从数据库引入数据。 dTree可以不用添加任何页面而直接用代码实现多个栏目,并可以实现无限分级,下面...
dtree是一款基于JavaScript的树形控件,它能够帮助开发者实现动态、交互式的树状菜单。而Ajax(Asynchronous JavaScript and XML)则是一种在不重新加载整个网页的情况下更新部分网页的技术。当dtree与Ajax结合时,...
【dtree动态树】是一种基于JavaScript的客户端树形控件,用于在网页中展示层级结构的数据,例如网站导航、文件目录等。...开发者需要理解dtree的API和事件处理机制,才能灵活地构建和定制自己的树形菜单系统。
在本项目"ajax,servlet动态加载dtree"中,我们看到的是利用Ajax技术和Servlet实现dtree(一种树形菜单控件)的动态加载。这个项目可能是一个文件管理系统或者目录浏览应用,其中dtree用于展示文件或目录结构,而...
通过dtree,你可以创建出直观、易用的树形界面,提升用户的操作体验。无论是新手还是经验丰富的开发者,都可以通过学习dtree,快速构建出具有层级关系的交互式应用。记得查看提供的dtree相关文件,它们将包含更多...