`
chengyue2007
  • 浏览: 1481750 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

ExtJs树TreePanel

 
阅读更多

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节点刷新JS函数

    完美的Extjs4 treePanel节点刷新,函数为自动刷新选中的节点.API看得头疼才别出来的代码.截止我发之前,好像没有谁共享这个功能的函数吧.

    ExtJS_TreePanel_树的配置详细属性

    主要方法: collapseAll():收缩所有树节点 expandAll():展开所有树节点 getRootNode():获取根节点 getNodeById(String id):获取指定id的节点 expand( [Boolean deep], [Boolean anim],

    ExtJS4 treepanel与girdpanel简单案例(包括MVC模式与非MVC模式)

    用ExtJS4实现的treepanel与gridpanel的简单互动案例 包含mvc开发模式与普通开发模式两种 普通开发模式:需要在引入js文件夹中的main.js文件 mvc开发模式:需要引入app文件夹中的app.js文件 适合初学extjs4的朋友

    无废话ExtJs 系列教程十五[树:TreePanel]

    《无废话ExtJs系列教程十五:树:TreePanel》 ExtJs是一个强大的JavaScript库,用于构建富客户端Web应用。在本教程中,我们将深入探讨一个重要的组件——TreePanel,它是ExtJs用来展示层次结构数据的工具,常用于...

    extjs4 treepanel动态改变行高度示例

    TreePanel是ExtJS中用于展示树形结构数据的组件,它通常用于显示文件系统结构、组织架构等层次化数据。动态改变行高是提高用户界面友好性和可视化的有效方式,尤其是在呈现大量信息时,可以提升用户体验。 首先需要...

    ExtJS 3.4关于TreePanel的一些实例

    学习TreePanel时根据网上的资料自己实现的实例,结构如下: 1. 创建一棵树 2. 使用TreeLoader加载数据生成树 3. 读取本地Json数据生成树 4. 使用Servlet提供数据 5. 树的事件 6. 右键菜单 7. 修改节点的默认图标 8. ...

    EXTJS实例 EXTJS树,可以编辑的EXTJS,EXTJS3.0

    在EXTJS3.0中,树形组件(TreePanel)提供了丰富的可编辑性,允许用户不仅查看数据,还能直接编辑节点内容。这大大增强了用户体验,使得交互性更强。编辑功能通常包括添加新节点、删除现有节点、修改节点文本以及...

    extjs 树 搜索

    2. **TreePanel组件**:EXTJS中的树形控件是通过TreePanel组件实现的。TreePanel包含了渲染树形结构所需的配置项,如store、root、displayField等。 3. **TreeStore**:存储树形数据的仓库,它负责加载和管理树形...

    Extjs做的treepanel+tab切换页

    在"Extjs 做的treepanel+tab切换页"这个项目中,我们主要关注的是如何利用ExtJS 3.2版本来创建一个具备折叠面板(Collapsible Panel)功能的树形视图(TreePanel),以及与之联动的选项卡(TabPanel)。这个设计允许...

    Extjs入门教程(treePanel和GridPanel)

    TreePanel是ExtJS中的一个树形控件,它允许你展示层级结构的数据。在教程中,你可能会学到如何创建和配置TreePanel,包括加载数据、设置节点图标、处理节点的展开和折叠事件,以及添加拖放功能。TreePanel通常用于...

    ExtJs树例子

    1. **TreePanel**:TreePanel是ExtJS中用于展示树形结构的组件,它可以显示可折叠/展开的节点,每个节点可以有子节点。配置TreePanel时,我们需要指定数据源、节点模型、以及各种UI样式和行为设置。 2. **数据源**...

    extjs TreePanel

    EXTJS中的TreePanel是用于展示层级数据的组件,它以树状结构呈现数据。TreePanel提供了丰富的配置项和方法,使得我们可以灵活地控制树的显示和交互。以下是对TreePanel及其主要配置项和方法的详细说明: 1. **主要...

    extjs中Ext.Panel和TreePanel 组件动态加载本地页面数据

    在EXTJS这个强大的JavaScript框架中,`Ext.Panel`和`TreePanel`是两个非常重要的组件,它们被广泛用于构建复杂的用户界面。这篇文章将探讨如何在这些组件中动态加载本地页面数据,以提升用户体验并实现灵活的数据...

    获取Extjs中的TreePanel中所有的被checked的叶子节点的id

    在本篇文章中,我们将深入探讨如何在ExtJS框架中获取TreePanel中所有被选中(checked)的叶子节点的ID。此技术对于处理复杂的数据结构、优化用户交互体验以及实现高效的数据管理至关重要。 ### 一、ExtJS简介 ...

    EXTJS动态树支持checkbox 全选

    总结来说,EXTJS动态树支持checkbox全选是一个结合了EXTJS TreePanel组件、数据模型、事件处理和异步加载技术的功能实现,旨在提供用户友好的多选操作。通过这个功能,开发者可以构建出更加交互性强、功能丰富的Web...

    Extjs树Demo

    在给定的“Extjs树Demo”中,我们将探讨如何使用ExtJS实现树形结构,这是一种常见的数据可视化方式,用于表示层次结构的数据。 首先,理解ExtJS中的树(Tree)组件是非常重要的。这个组件允许开发者创建可交互、多...

    extJs树形框架(一个例子)

    在树形框架中,ExtJS的TreePanel组件是核心,它允许开发者构建可交互、可扩展的树状结构,展示层次化的数据。这个例子可能展示了如何配置TreePanel,加载数据,以及处理用户交互事件。 2. **Oracle数据库**:Oracle...

    extjs关于treePanel+chekBox全部选中以及清空选中问题探讨

    TreePanel 是 ExtJS 中用于展示树形结构数据的组件,而 CheckBox 是复选框,用于在界面上提供一个多选的选项。在 ExtJS 中,TreePanel 与 CheckBox 结合使用是一种常见的场景,其中的 CheckBox 可以用来控制树节点的...

Global site tag (gtag.js) - Google Analytics