由于公司要求做一棵关于公司员工选择的JS控件树,以前我们一直使用的都是dTree,由于没有采用AJAX,服务器在北京的话,使用起来超慢,于是上面要求修改此树,没想到任务落到了我的头上,没办法,硬着头皮做吧。正在我想有什么办法的时候,同事推介用用Xtree,于是我开始去学习这个东东,现在只能是基本应用,也想共享一下自己的学习必得。
1、下载:http://webfx.eae.net/dhtml/xtree2b/,里面包括了API,和DEMO,都是E文的,不过很容易看懂的。也可以直接在此网站点击相关DEMO看效果,很不错的。
2、就是使用了:可以直接打开下载解压后的文件中的相关DEMO看看效果。不过要注意,因为Xtree使用了AJAX,也使用到了XML,不知道什么原因,在 IE里本地打开动态加载的树时会报JS错误,也不能正常打开树(通过服务器器不会出错),在FireFox中就能本地正常打开。
3、建立自己的树:Xtree有两种树,一种是静态树,一种是动态树。也可以将这两种树综合在一起使用。
大家要去参考一下网上的“分析xloadtree, 用ajax实现的动态目录树 ”这篇文章,写得不错。
(1)、静态树:
<html>
<head>
<title>测试树</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link type="text/css" rel="stylesheet" href="css/xtree2.css">
<script type="text/javascript" src="js/xtree2.js"></script>
</head>
<body>
<script type="text/javascript">
var tree = new WebFXTree("测试树");//构造一棵树
for (var i = 0; i < 50; i++){
tree.add( new WebFXTreeItem("子结点 " + i) );//加入结点
}
tree.write();//输入树
</script>
<body>
</html>
(2)、动态树
var tree = new WebFXLoadTree("Hello World", "tree.xml");//打开根结点时,即从tree.xml文件中得到子树,也可是从服务器返回的XML流
tree.write();
(3)、两种树综合(从XML文件中读到子树结点):
var tree = new WebFXTree("Root");
tree.add(new WebFXTreeItem("Tree Item 1"));
//从tree.xml文件中动态加载子树,此处的XML文件可以是从服务器方返回来的XML流,
//如:tree.add(new WebFXLoadTreeItem("从服务器返回", "tree.jsp"));
tree.add(new WebFXLoadTreeItem("Tree Item 2", "tree.xml"));
tree.add(new WebFXTreeItem("Tree Item 4"));
tree.write();
tree.jsp文件如下:
<%@ page language="java" contentType="text/xml; charset=UTF-8" pageEncoding="UTF-8" %>
<%
response.setContentType("text/xml"); //这句必须要,只有设置了才是能XML流形式输出到客户端
out.println("<tree>");
out.println("<tree text=\"Load tree.xml\" src=\"http://webfx.eae.net/dhtml.htm?ddd=dd&dd=44\" />");
out.println("</tree>");
%>
4、tree.xml说明:
在动态生成一棵树时就会用到tree.xml文件,它是一个标准的XML文件。
它由一个外层的tree无属性元素,再内部包括多个子tree元素组成。
使用要注意的是:
如果要使用到中文或汉字的话,最好在文件开始处加入<?xml version="1.0" encoding="gb2312"?>否则会报乱码的JS错误。
另外就是XML文件中的特殊字符处理,这是使用这个很伤脑壳的地方,大家可以查考xtree所附带的TREE.XML文件,讲得很清楚。
<?xml version="1.0" encoding="gb2312"?>
<tree>
<tree text="Load "tree1.xml" (Should raise error)" src="tree1.xml" toolTip="Tool Tip"/>
<tree text="Load "tree2.xml" (Should raise error)" src="tree2.xml"
onerror="this.setText('Load "tree2.xml" (Raised error)')"/>
<tree text="Loaded Item 1" action="http://webfx.eae.net" />
<tree text="Loaded Item 2" expanded="true">
<tree text="Loaded Item 2.1" action="javascript:alert( tree.getSelected().getId() )" id="custom-id"/>
</tree>
<tree text="Loaded Item 3 (click to set src)" onaction="this.setSrc(this.getSrc() ? null : 'tree3.xml')"
onload="this.setText('Loaded Item 3 (changed onload)')"/>
<tree text="Load treeLARGE.xml" src="treeLARGE.xml" toolTip="XML file with 500 items"/>
<tree text="Deep nesting" src="nest.xml.pl" />
</tree>
其实xtree还提供了两个JS文件:xtree2.js,xloadtree2.js,里面包括了xtree的工作原理和相关方法及属性,
没事大家可以去看看,对操作树很有用处的,如:选择/得到指定结点的信息,得到/修改结点的图标等等。
我在使用时由于TOMCAT设置成不允许客户端缓存,感觉树大了就有点点慢,所以建议大家使用时允许客户端缓存,会快很多。
JS文件中的方法和属性,下一篇BLOG再写了。上班哟。
转自http://blog.csdn.net/yuansicau/archive/2006/08/09/1041767.aspx
分享到:
相关推荐
**xtree:深入理解与应用** xtree是一个用于数据结构表示和操作的工具,尤其在计算机科学和编程领域中,它被广泛应用于处理树形结构数据。本文将深入探讨xtree的基本概念、特点、用途以及如何在实际项目中有效地...
"xtree1.1和例子" 是一个与前端开发相关的主题,主要涉及到的是一个叫做 xtree 的库或者框架。这个库可能是一个用于构建交互式树形结构的JavaScript组件,适用于展示层级关系的数据,如文件系统、组织架构或者导航...
"扩展xtree选择树"是一种基于JavaScript实现的数据结构和用户界面组件,主要用于构建可交互的树形数据展示。在Web开发中,它被广泛应用于文件系统导航、组织结构展示、菜单系统等场景,通过xtree,用户可以方便地...
**XTREE源包及使用实例详解** XTREE是一种用于构建动态树形结构的数据结构,它在计算机科学中常被用于组织和操作数据。这个数据结构允许高效地进行插入、删除和查找操作,特别适合处理层次化的信息。在IT行业中,...
"XTree"是一款用于网页开发的JavaScript库,专门设计用于创建和展示树状菜单结构。这个库被嵌套在HTML标签中,使得开发者能够轻松地在网页上构建交互式的、层级化的导航系统。XTree的核心功能是通过JavaScript动态...
**xTree:JavaScript实现的树形菜单** xTree是一款基于JavaScript技术开发的树形菜单组件。在网页设计中,树形菜单通常用于组织和展示层级结构的信息,如网站导航、文件系统或者数据库结构。xTree因其简洁易用、...
【xTree帮助】:在IT领域,尤其是在软件开发和数据管理中,xTree是一个非常有用的工具,它主要用于处理和操作树形结构的数据。xTree工具以其直观的界面和强大的功能,使得用户能够轻松地浏览、搜索、管理和分析复杂...
"xtree"是一个专用于构建这种树形视图的组件,它常与数据库系统(如Oracle)以及MVC框架(如Struts)结合使用,以提供动态的数据加载和交互功能。 首先,我们来看"xtree"。Xtree是一个JavaScript库,主要用于在Web...
在IT领域,尤其是在网页开发中,XTree是一种广泛使用的JavaScript库,用于创建交互式的树状菜单。这种菜单结构能够帮助用户以层次化的方式浏览和操作数据,尤其适用于组织大量分类信息,如文件系统、网站导航或者...
"xtree demo" 是一个基于JavaScript实现的树形数据结构展示工具的演示程序,它主要用于在Web应用中呈现层次结构的数据。在这个压缩包中,主要包含的文件是 "xtree.js",这是一个JavaScript库,提供了对树状数据进行...
XTree是基于纯JavaScript实现的一种树状数据结构的控件,它提供了一种高效、灵活的方式来显示和操作树形数据。 **树形结构的基础知识:** 在计算机科学中,树是一种非线性数据结构,由节点(或称为顶点)和边组成。...
"xtree下载 树状图"这个标题暗示我们这里讨论的是一款名为xtree的软件或工具,它用于创建和查看树状图。xtree可能是提供了一种高效的方式,让用户能够一次性加载整个树形结构,以便于快速浏览和操作,正如描述中提到...
《xtree开发包详解》 在编程领域,数据结构与算法是基础中的基础,而树形数据结构在软件设计中有着广泛的应用。xtree作为一款专门用于开发的工具包,其核心在于提供了一种高效、灵活的树型数据结构,为开发者提供了...
本文将详细介绍如何利用XTree来构建基于XML的树状视图,并阐述相关知识点。 首先,理解XML(Extensible Markup Language)的基础至关重要。XML是一种标记语言,用于存储和传输数据,其结构清晰、易于解析,特别适合...
XTREE是一个基于AJAX实现的树形菜单。它的原理就是每次都只加载当前结点下的所有结点,而对开发人员来说,就是只需要按一定的格式,生成一段 XML代码。XTREE可以自己定制每个结点的ICON和链接。XTREE是基于对象的,...
【XTreeDemo】是一个关于`xtree`与`jsp`结合使用的综合实例,它涵盖了`xtree`控件的各种功能和交互方式。`xtree`通常用于构建具有层级结构的数据显示,常见于文件系统、组织架构或者数据库树形视图等场景。在`jsp`...
XTREE_API
1. `api.htm` 和 `api.xloadtree2.htm`:这是API文档,详细介绍了XTREE3.1和XLoadTree2(可能是一个XTREE的特定版本或插件)的函数、方法和事件,是开发者进行二次开发的重要参考资料。 2. `demo.htm` 和 `demo.v1....
XTree2是一款基于JavaScript编写的树形组件,用于在网页中构建可交互的层次结构数据展示。这个组件的第二部分可能包含对第一部分功能的扩展或优化,将所有代码集中在一个JS文件中,便于管理和维护。在Web开发中,...