1.创建一个简单(静态)的树
/**
创建一个简单(静态)的树
*/
function createSimpleTreePanel(){
//因为每个树中由N个节点组成的,所以要创建树,必须创建树所包含的节点(树必须有一个或多个根节点).
var vRoot = new Ext.tree.TreeNode({text: '根节点1'}) ;//创建节点
var vNode1 = new Ext.tree.TreeNode({text: '子节点1'}) ;//创建节点
vNode1.appendChild(new Ext.tree.TreeNode({text: '子节点11'}));
vNode1.appendChild(new Ext.tree.TreeNode({text: '子节点12'}));
var vNode2 = new Ext.tree.TreeNode({text: '子节点1'}) ;//创建节点
vRoot.appendChild(vNode1) ;//在vRoot根节点上创建子节点.
vRoot.appendChild(vNode2) ;//在vRoot根节点上创建子节点.
var vTree = new Ext.tree.TreePanel({//创建一个用于装载树的面板
renderTo: document.body,//绑定在body元素上.
width: 300,
height: 200,
root: vRoot
});
}
2.创建异步简单树
/**
创建异步简单树
*/
function createSimpleTreeLoader(){
//创建一个由treeLoader.js定义的节点结构[{...},{...}]
var vNode = new Ext.tree.TreeLoader({url:'../js/treeLoader.js'});
//创建一个根节点,将上面定义的子节点结构与根节点绑定.
var vRoot = new Ext.tree.AsyncTreeNode({text: '根节点',loader: vNode}) ;
var vTree = new Ext.tree.TreePanel({//创建一个用于装载树的面板
renderTo: document.body,//绑定在body元素上.
width: 300,
height: 200,
root: vRoot//绑定根节点.
});
}
3.创建动态(从JSP文件动态载入)树
/**
创建动态(从JSP文件动态载入)树
*/
function createSimpleDynamicTreeLoader(){
//创建一个节点,节点的结构由JSP文件提供
var vNode = new Ext.tree.TreeLoader({url:'treeLoader.jsp'});
//为该节点添加beforeload(点击节点之前触发)事件监听器.
vNode.on("beforeload",function(myLoader,node){
//myLoader.baseParams.parentId是为treeLoader.jsp传递参数,参数名为parentId,可以自己取名.node代表正要点击的节点对象
myLoader.baseParams.parentId = node.id=='root'?"":node.text;
}) ;
var vRoot = new Ext.tree.AsyncTreeNode({id: 'root',text: '根节点',loader: vNode}) ;
var vTree = new Ext.tree.TreePanel({//创建一个用于装载树的面板
renderTo: document.body,//绑定在body元素上.
width: 300,
height: 200,
root: vRoot//绑定根节点.
});
}
4.用到的文件 treeLoader.js
[{text:'子节点1'},{text:'子节点2',leaf:true}]
5.用到的文件 treeLoader.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
String parentId = request.getParameter("parentId") ;
System.out.println(parentId) ;
if("".equals(parentId) || parentId==null){
out.print("[{text:\'北京\'},"+"{text:'辽宁'}]");
}else if("北京".equals(parentId)){
out.print("[{text: \'朝阳\',leaf: true},"+"{text: '东城',leaf: true}]");
}else if("辽宁".equals(parentId)){
out.print("[{text: \'沈阳\',leaf: true},"+"{text: '大连',leaf: true}]");
}
%>
6.载入
//Ext.onReady(createSimpleTreePanel);//创建一个简单(静态)的树
//Ext.onReady(createSimpleTreeLoader);//创建异步简单树
Ext.onReady(createSimpleDynamicTreeLoader);//创建动态树
分享到:
相关推荐
完美的Extjs4 treePanel节点刷新,函数为自动刷新选中的节点.API看得头疼才别出来的代码.截止我发之前,好像没有谁共享这个功能的函数吧.
主要方法: collapseAll():收缩所有树节点 expandAll():展开所有树节点 getRootNode():获取根节点 getNodeById(String id):获取指定id的节点 expand( [Boolean deep], [Boolean anim],
用ExtJS4实现的treepanel与gridpanel的简单互动案例 包含mvc开发模式与普通开发模式两种 普通开发模式:需要在引入js文件夹中的main.js文件 mvc开发模式:需要引入app文件夹中的app.js文件 适合初学extjs4的朋友
《无废话ExtJs系列教程十五:树:TreePanel》 ExtJs是一个强大的JavaScript库,用于构建富客户端Web应用。在本教程中,我们将深入探讨一个重要的组件——TreePanel,它是ExtJs用来展示层次结构数据的工具,常用于...
TreePanel是ExtJS中用于展示树形结构数据的组件,它通常用于显示文件系统结构、组织架构等层次化数据。动态改变行高是提高用户界面友好性和可视化的有效方式,尤其是在呈现大量信息时,可以提升用户体验。 首先需要...
学习TreePanel时根据网上的资料自己实现的实例,结构如下: 1. 创建一棵树 2. 使用TreeLoader加载数据生成树 3. 读取本地Json数据生成树 4. 使用Servlet提供数据 5. 树的事件 6. 右键菜单 7. 修改节点的默认图标 8. ...
在EXTJS3.0中,树形组件(TreePanel)提供了丰富的可编辑性,允许用户不仅查看数据,还能直接编辑节点内容。这大大增强了用户体验,使得交互性更强。编辑功能通常包括添加新节点、删除现有节点、修改节点文本以及...
2. **TreePanel组件**:EXTJS中的树形控件是通过TreePanel组件实现的。TreePanel包含了渲染树形结构所需的配置项,如store、root、displayField等。 3. **TreeStore**:存储树形数据的仓库,它负责加载和管理树形...
在"Extjs 做的treepanel+tab切换页"这个项目中,我们主要关注的是如何利用ExtJS 3.2版本来创建一个具备折叠面板(Collapsible Panel)功能的树形视图(TreePanel),以及与之联动的选项卡(TabPanel)。这个设计允许...
TreePanel是ExtJS中的一个树形控件,它允许你展示层级结构的数据。在教程中,你可能会学到如何创建和配置TreePanel,包括加载数据、设置节点图标、处理节点的展开和折叠事件,以及添加拖放功能。TreePanel通常用于...
1. **TreePanel**:TreePanel是ExtJS中用于展示树形结构的组件,它可以显示可折叠/展开的节点,每个节点可以有子节点。配置TreePanel时,我们需要指定数据源、节点模型、以及各种UI样式和行为设置。 2. **数据源**...
在本篇文章中,我们将深入探讨如何在ExtJS框架中获取TreePanel中所有被选中(checked)的叶子节点的ID。此技术对于处理复杂的数据结构、优化用户交互体验以及实现高效的数据管理至关重要。 ### 一、ExtJS简介 ...
EXTJS中的TreePanel是用于展示层级数据的组件,它以树状结构呈现数据。TreePanel提供了丰富的配置项和方法,使得我们可以灵活地控制树的显示和交互。以下是对TreePanel及其主要配置项和方法的详细说明: 1. **主要...
在EXTJS这个强大的JavaScript框架中,`Ext.Panel`和`TreePanel`是两个非常重要的组件,它们被广泛用于构建复杂的用户界面。这篇文章将探讨如何在这些组件中动态加载本地页面数据,以提升用户体验并实现灵活的数据...
总结来说,EXTJS动态树支持checkbox全选是一个结合了EXTJS TreePanel组件、数据模型、事件处理和异步加载技术的功能实现,旨在提供用户友好的多选操作。通过这个功能,开发者可以构建出更加交互性强、功能丰富的Web...
在给定的“Extjs树Demo”中,我们将探讨如何使用ExtJS实现树形结构,这是一种常见的数据可视化方式,用于表示层次结构的数据。 首先,理解ExtJS中的树(Tree)组件是非常重要的。这个组件允许开发者创建可交互、多...
在树形框架中,ExtJS的TreePanel组件是核心,它允许开发者构建可交互、可扩展的树状结构,展示层次化的数据。这个例子可能展示了如何配置TreePanel,加载数据,以及处理用户交互事件。 2. **Oracle数据库**:Oracle...
TreePanel 是 ExtJS 中用于展示树形结构数据的组件,而 CheckBox 是复选框,用于在界面上提供一个多选的选项。在 ExtJS 中,TreePanel 与 CheckBox 结合使用是一种常见的场景,其中的 CheckBox 可以用来控制树节点的...