此树使用脚本语言JS,dojo组件,DOM API,WebFx 的树控件XTree.
使用DOJO组件从XML文件中读取所有数据,并且DOM API配合XTREE 对内存中的数据操作,一次性生成树。
流程:
代码片断:
1. 使用dojo组件从xml文件读取数据.
loadTreeMenu:function() {
var treeMenuLoader = this;
var menu = 'me';
var par = window.location.search;
if (par.length != 0)
menu = par.substring(7, (par.length - 1));
var url = "tree.xml";
var bindArgs = {
url: url,
mimetype: "text/xml",
method: "post",
content: {'menu': menu},
load: function(type, data, evt){
treeMenuLoader.treeMenuData = data.selectSingleNode('/MenuConfig/Menu[@id="' + menu + '"]');
treeMenuLoader.rendTree.call(treeMenuLoader);
}
};
dojo.io.bind(bindArgs);
},
2. 编写rendTree和addItem 两个方法对返回的数据操作, 结合使用WebFx 的树控件XTree生成树.
代码片断:
rendTree: function() {
var treeMenuLoader = this;
var treeMenuData = treeMenuLoader.treeMenuData;
var webFXTreeConfig = {
usePersistence:true
};
var tree = new WebFXTree('root', treeMenuData.getAttribute("title"), '', '', treeMenuData.getAttribute("image"), treeMenuData.getAttribute("image"));
var childNodesData = treeMenuData.selectNodes('Item');
dojo.lang.forEach(childNodesData, function(childNodeData) {
treeMenuLoader.addItem(tree, childNodeData);
});
dojo.byId('menuTree').innerHTML = tree;
},
addItem:function(tree, node) {
var treeMenuLoader = this;
var sText = node.getAttribute('title');
var id = node.getAttribute('id');
var sAction = node.getAttribute('page');
var sTarget = node.getAttribute('target');
if(sTarget == null)
sTarget = 'mainFrame';
var sTip = node.getAttribute('toolTip');
var sIcon = node.getAttribute('image');
var item = new WebFXTreeItem(id, sText, sAction, sTarget, sTip, null, sIcon, sIcon);
var nodes = node.selectNodes('Item');
dojo.lang.forEach(nodes, function(node) {
treeMenuLoader.addItem(item, node);
});
tree.add(item);
}
大家可以下载附件,说明和例子全都有....希望大家发表评论.我好吸取经验..
- tree.rar (1.6 MB)
- 描述: 1.说明文件为:tree.doc
2.例子页面为:tree.html
3.xml数据在tree.xml中
- 下载次数: 616
分享到:
- 2007-02-08 17:54
- 浏览 2385
- 评论(0)
- 论坛回复 / 浏览 (0 / 4236)
- 查看更多
相关推荐
"PowerTree中文教程" PowerTree 是一种强大的电源设计和分析工具,旨在帮助设计工程师和电源完整性工程师更好地设计和优化配电网络 (PDN)。本教程将详细介绍 PowerTree 的基本概念、工作原理、功能特点和应用场景。...
**jsTree 中文文档概述** jsTree 是一个流行的JavaScript库,用于在网页上创建交互式的树状视图。它主要用于组织结构化的数据,如文件系统、数据库目录或自定义项目结构。jsTree 支持多种操作,包括点击、拖放、...
标题提到的"tree(c++ tree容器)"是一个第三方实现,旨在为C++开发者提供一个类似于STL接口的树容器,方便用户在项目中构建和操作树形数据。 这个源码库的亮点在于它的用法与C++标准库中的其他容器类似,如vector和...
【速度树(SpeedTree)教程】 SpeedTree是一款广泛应用于游戏开发、影视特效、虚拟现实以及建筑设计等领域的高级树木和植被渲染软件。它以其强大的建模功能、高效的渲染技术和逼真的动态效果而闻名。本教程是专门...
设备树(Device Tree)在嵌入式Linux系统中扮演着至关重要的角色,它是一种数据结构,用于描述硬件配置,使得操作系统内核能够更好地理解和管理硬件资源。`device-tree-xlnx-master_tree_devicetree2018.3_`这个标题...
**jsTree API详解** jsTree 是一个流行的JavaScript库,用于创建、操作和展示交互式的HTML树状视图。它提供了一套丰富的API,使得开发者能够方便地实现树形结构的各种功能,如添加、删除、修改节点,以及节点的移动...
在Element UI库中,`el-tree` 是一个强大的组件,用于构建可交互的树形结构数据展示。在实际开发中,我们经常需要处理用户选择的节点,并可能需要独立展示这些选中节点,甚至允许用户在独立的树结构中进行删除操作。...
【EasyTree的使用教程】 EasyTree 是一个轻量级的前端组件,专用于构建和展示树型结构数据。它在Web应用中广泛用于组织和管理层次化的信息,如目录结构、组织架构或权限管理等。这个教程将详细介绍如何使用经过修改...
在IT领域,"Tree"通常指的是数据结构中的树形结构,它是一种非线性数据结构,由节点(或称为顶点)和边组成,每个节点可以有零个或多个子节点。在网页开发中,Tree插件则常用于展示层次化信息,如文件目录结构、组织...
JavaScript Tree是一种交互式的前端UI组件,它以树形结构展示数据,常用于网站或应用程序的导航、目录组织或数据层级展示。"Checkbox Tree"是这种树结构的一个扩展,它在每个节点上添加了复选框,允许用户进行多选...
**jsTree动态tree详解** jsTree是一款基于JavaScript的开源库,专门用于构建交互式的树形视图。在网页开发中,树形结构常用于展示层级关系的数据,如目录、组织结构或导航菜单等。jsTree提供了丰富的API和可定制的...
在移动设备上,为了有效地展示层次结构数据,如文件系统、组织架构或导航菜单,"手机端js tree"成为了一种实用的解决方案。这个技术基于JavaScript,专为智能手机和平板电脑等移动端设备设计,提供了可自定义的树形...
TreeTagger是一款由德国图宾根大学的Philippe Schmid教授开发的著名自然语言处理工具,主要用于对文本进行词性标注、实体识别和句法分析。这个软件在学术界和工业界都得到了广泛的应用,特别是在语言学研究和信息...
Excel中的TreePlan是一款强大的建模插件,专用于创建和分析决策树模型。在商业智能、项目管理和风险管理等领域,决策树是一种常用的分析工具,它通过图形化的方式展示各种可能的决策路径及其结果,帮助用户在不确定...
树形结构工具包,功能非常全,方便实用,不用再去用属性节点和调用节点操作tree了
KD-Tree 开源实现以及 OpenCV KD-Tree 使用
excel decision tree插件treeplan正式版 office2010测试通过
在Flex中,Tree组件是用于显示层次结构数据的控件,而"flex带复选框的tree"(Flex CheckboxTree)则是对Tree组件的一种扩展,增加了复选框功能,用户可以对树形结构的节点进行选择或全选操作,常用于权限管理、配置...
Speedtree SDK v.5.1 for real time renderer trees end grass