`
liss
  • 浏览: 842988 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

xtree的基本应用---入门级

阅读更多

由于公司要求做一棵关于公司员工选择的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&amp;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 &quot;tree1.xml&quot; (Should raise error)" src="tree1.xml" toolTip="Tool Tip"/>
 <tree text="Load &quot;tree2.xml&quot; (Should raise error)" src="tree2.xml"
    onerror="this.setText('Load &quot;tree2.xml&quot; (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再写了。上班哟。


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/yuansicau/archive/2006/08/09/1041767.aspx

分享到:
评论

相关推荐

    dtree、xtree和jquery-treeview构建树型菜单

    在实际应用中,选择哪个插件主要取决于项目的需求和开发环境。如果你追求性能和轻量级,`dtree`可能是最好的选择;如果需要更丰富的功能和自定义空间,那么`xtree`会更适合;而如果项目已经使用jQuery,并且希望利用...

    _2010.05.29_xtree3-比xtree更好.最好的树菜单,firefox下正常, newtower修改增强.终极推荐ok.7z

    2010-5-29 修改增强 by newtower qq:30234923 , 为尊重作者, 仍用 xtree2 的名字, 实质已相当于 xtree 3.0 release 经过修改 和 充实demo范例, 已经完全满足商业化应用, 开源免费 目前实用效果最好的web树菜单, 可...

    xtree源包及使用实例

    在"XTREE源包"中,我们可以期待找到XTREE的源代码实现,这将包含XTREE的数据结构定义、基本操作的函数实现以及可能的示例程序。通过研究源代码,开发者可以理解XTREE的内部工作原理,并根据需求进行定制或扩展。 ...

    扩展xtree选择树

    在Web开发中,它被广泛应用于文件系统导航、组织结构展示、菜单系统等场景,通过xtree,用户可以方便地展开、折叠、选择和操作树中的节点。 1. **xtree的基本概念** - 树结构:xtree是一种以树形结构展示数据的...

    xtree菜单树

    在IT领域,xtree是编程中实现菜单系统的一种方式,特别是在图形用户界面(GUI)应用程序中。这种菜单树的实现可能涉及到多种编程语言和技术,如C++、C#、Java或JavaScript,以及相关的框架和库。 xtree的核心特性...

    LayUI树形下拉多选选择器扩展包

    LayUI是一款基于前端MVC模式的轻量级、模块化的前端框架,它以其简洁的API接口、良好的可扩展性和丰富的组件库深受开发者喜爱。在众多的LayUI组件中,"树形下拉多选选择器"是一个非常实用的功能,尤其在处理层次结构...

    xtree

    **xtree:深入理解与应用** xtree是一个用于数据结构表示和操作的工具,尤其在计算机科学和编程领域中,它被广泛应用于处理树形结构数据。本文将深入探讨xtree的基本概念、特点、用途以及如何在实际项目中有效地...

    _2010.05.25_xtree2b-比xtree更好.推荐使用ok.目前最好的树菜单,firefox下正常

    3. **demo.htm**:演示文件,展示了xtree2b的实际应用效果和基本功能,有助于用户直观了解其工作原理。 4. **readme.htm**:通常包含项目的基本信息、安装指南和注意事项,是初学者入门的第一步。 5. **demo.v1....

    jscalendar-日历控件;xtree-树型控件

    在提供的博文链接中,作者分享了关于xtree的使用经验和技巧,这可以帮助开发者更好地理解和应用这个控件。 在实际开发中,这两个控件常常结合使用,例如在日程管理应用中,用户可以选择日期(通过jscalendar),...

    XTree生成树状菜单

    在IT领域,尤其是在网页开发中,XTree是一种广泛使用的JavaScript库,用于创建交互式的树状菜单。这种菜单结构能够帮助用户以层次化的方式浏览和操作数据,尤其适用于组织大量分类信息,如文件系统、网站导航或者...

    xtree1.1和例子

    通过CSS,开发者可以定制xtree的颜色、大小、字体、间距等视觉元素,以适应不同网站或应用的设计风格。 4. **xtree.js**: 这很可能是xtree主库文件,包含核心的树形结构实现,包括创建、遍历、操作节点的方法,以及...

    xTree

    **xTree:JavaScript实现的树形菜单** xTree是一款基于JavaScript技术开发的树形菜单组件。在网页设计中,树形菜单通常用于组织和展示层级结构的信息,如网站导航、文件系统或者数据库结构。xTree因其简洁易用、...

    xtree一颗完整的树xtree+oracle+struts

    在IT行业中,构建树形...开发者需要掌握JavaScript编程(尤其是xtree的使用)、Oracle SQL查询以及Java和Struts框架的基本知识。这样的技能组合在企业级应用开发中非常有价值,能够帮助实现复杂数据的直观展示和管理。

    xtree下载 树状图

    树形结构在计算机科学中有着广泛的应用,特别是在文件系统、数据库索引、编译器设计、数据解析等领域。例如,文件系统的目录结构就是一个典型的树状结构,用户可以通过xtree这样的工具更直观地查看和管理这些文件和...

    xTree帮助

    在“xtree简明教程”中,我们首先会学习到xTree的基本概念。xTree的核心是一个树状视图,它以层级结构展示数据,就像计算机文件系统的目录结构一样。根节点位于顶部,下面分支出子节点,子节点还可以继续分支出更多...

    xtree demo

    "xtree demo" 是一个基于JavaScript实现的树形数据结构展示工具的演示程序,它主要用于在Web应用中呈现层次结构的数据。在这个压缩包中,主要包含的文件是 "xtree.js",这是一个JavaScript库,提供了对树状数据进行...

Global site tag (gtag.js) - Google Analytics