由于公司需要做一棵关于公司员工选择的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)、静态树:
测试树
var tree = new WebFXTree("测试树");//构造一棵树
for (var i = 0; i
(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文档如下:

");
out.println("");
out.println("");
%>
4、tree.xml说明:
在动态生成一棵树时就会用到tree.xml文档,他是个标准的XML文档。
他由一个外层的tree无属性元素,再内部包括多个子tree元素组成。
使用要注意的是:
假如要使用到中文或汉字的话,最好在文档开始处加入否则会报乱码的JS错误。
另外就是XML文档中的特别字符处理,这是使用这个很伤脑壳的地方,大家能够查考xtree所附带的TREE.XML文档,讲得很清楚。









其实xtree还提供了两个JS文档:xtree2.js,xloadtree2.js,里面包括了xtree的工作原理和相关方法及属性,
没事大家能够去看看,对操作树很有用处的,如:选择/得到指定结点的信息,得到/修改结点的图标等等。
我在使用时由于TOMCAT配置成不允许客户端缓存,感觉树大了就有点点慢,所以建议大家使用时允许客户端缓存,会快很多。
JS文档中的方法和属性,下一篇BLOG再写了。上班哟。
转自http://blog.csdn.net/yuansicau/archive/2006/08/09/1041767.aspx




本文来自ChinaUnix博客,假如查看原文请点:http://blog.chinaunix.net/u1/40572/showart_464205.html