`
编程足球
  • 浏览: 256969 次
  • 性别: Icon_minigender_1
  • 来自: 福州
社区版块
存档分类
最新评论

Ext 最简单的树的生成

    博客分类:
  • Ext
阅读更多
在Ext中树是经验用到的,最简单的一棵树如下:
treePanelFirst = new Ext.tree.TreePanel({
    // 自动创建树加载器 TreeLoader
    dataUrl:'context.jsp',
    root: {
        nodeType: 'async',
        text: 'Ext JS'
    }
});

只要dataUrl正确的返回符合javascript数组类型的json就可以自动解读成树。
下面的代码和上面实现的功能一致
treePanelFirst = new Ext.tree.TreePanel({        
//      树加载器(TreeLoader)的目的是从URL延迟加载树节点Ext.tree.TreeNode的子节点。
//      返回值必须是以树格式的javascript数组。
        loader: new Ext.tree.TreeLoader(
        {
			dataUrl: 'context.jsp'
		}),
//		树的根节点对象 ,采用异步的方式,用于动态加载子节点
        root:new Ext.tree.AsyncTreeNode({
        	text:'Ext JS'
        })
});

还有一种方法一样可以创建一棵树,效果和上面的一样:
ApiPanel = function() {
    ApiPanel.superclass.constructor.call(this, {
//      树加载器(TreeLoader)的目的是从URL延迟加载树节点Ext.tree.TreeNode的子节点。
//      返回值必须是以树格式的javascript数组。
        loader: new Ext.tree.TreeLoader(
        {
			dataUrl: 'context.jsp'//左侧目录数据源
		}),
//		采用异步的方式,用于动态加载子节点
        root: new Ext.tree.AsyncTreeNode(
        {
//        	只读属性,该节点所显示的文本.
            text:'Ext JS',
        })
    });
};
Ext.extend(ApiPanel, Ext.tree.TreePanel, {
    
});

treePanelFirst = new ApiPanel();


最后在html文件中进行测试
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
    <link rel="stylesheet" type="text/css" href="../resources/css/ext-all.css">  
    <script type="text/javascript" src="../adapter/ext/ext-base.js"></script>  
    <script type="text/javascript" src="../ext-all.js"></script>      
  	<script type="text/javascript" src="../Tree/TreePanelTest.js"></script>
  	<script type="text/javascript">
  	    Ext.onReady(function(){
			treePanelFirst.render("header");
  	    });
	</script> 
  </head>
  <body>
		<div id="header"></div>
  </body>
</html>


上面三种方法效果是一样的,当然在创建树的时候还有很多属性可以指定常用的如下:
//     	True表示为显式建立头部元素,false则是跳过创建。
//      缺省下,如不创建头部,将使用title的内容设置到头部去,
//		如没指定title则不会。如果设置好title,但头部设置为false,那么头部亦不会生成。
        header: true,
        width: 248,
        minSize: 175,
        maxSize: 500,

//      True表示为面板是可收缩的,并自动渲染一个展开/收缩的轮换按钮在头部工具条
        collapsible: true,
        margins:'0 0 5 5',
        cmargins:'0 0 0 0',
        
//      是否隐藏根节点,ture就不隐藏根节点,false不显示根节点
        rootVisible:false,
        
//		true	表示在面板上设置 overflow:auto和出现滚动条
//      false 	表示裁剪所有溢出的部分,不设置默认为false
        autoScroll:true,
        animCollapse:false,
        
//     	是否以动画形式展开.会慢慢展开
        animate: true,
        
//      是否显示节点左侧的小三角形头的图标
        useArrows:false,
        
//      是否显示区分结构的虚线,useArrows:false情况下才有效果
        line:true,
        
//      是否允许拖放,true可以拖放
        enableDD:true,
        
        collapseMode:'mini',
        
//      True 表示为展开/闭合的轮换按钮出现在面板头部的左方,false表示为在右方
        collapseFirst:false,
        


现在来看看后台要传递过来的数据:
	String jsonData = "[{text:'测试1',leaf: true ,msg:'moreMessage1'}, " +
	                   "{text:'测试2',leaf: true ,msg:'moreMessage2'}, " + 
	                   "{text:'测试3',leaf: true ,msg:'moreMessage3'}]";

	System.out.print(jsonData);
	out.write(jsonData);

其实后台就是传递过来json数组,可以由各种方法来实现。结果如下:


如果要实现多层结构的树则可以返回下面类似的json数据:
	String jsonData = "[{" + 
							"text:'测试1',msg:'moreMessage1',leaf: false," + 
							"children:[ " + 
							            "{text:'测试1-1',msg:'moreMessage1-1',leaf:true}," + 
							            "{text:'测试1-2',msg:'moreMessage1-2',leaf:true}," + 
							            "{text:'测试1-3',msg:'moreMessage1-3',leaf:true}" + 
							          "]" +
						"}," +
	                   "{text:'测试2',msg:'moreMessage2',leaf:true}, " + 
	                   "{text:'测试3',msg:'moreMessage3',leaf:true}  " + 
	                   "]";

结果如下:

本人新手,刚刚开始学习Ext,有错请指出,谢谢
分享到:
评论

相关推荐

    基于内存多叉树的Ext JS无限级树形菜单实现方案

    例如,以下是一个简单的内存多叉树节点类定义示例(伪代码): ```java class TreeNode { String id; String text; boolean leaf; List&lt;TreeNode&gt; children; TreeNode(String id, String text, boolean leaf)...

    一个简单的部门树【struts2+json+ext】

    "一个简单的部门树【struts2+json+ext】"这个项目就是一个典型的应用实例,它结合了Struts2、JSON和EXT这三种技术来实现动态生成的部门树视图。下面将详细解释这三个关键组件以及它们如何协同工作。 首先,Struts2...

    EXT2.0中文教程

    只为了树也要学ext。 3.1. 真的,我是为了树,才开始学ext的。 3.2. 传统是先做出一棵树来。 3.3. 超越一个根 3.4. 你不会认为2.0里跟1.x是一样的吧? 3.5. 这种装配树节点的形式,真是让人头大。 3.6. jsp的例子是...

    EXT教程EXT用大量的实例演示Ext实例

    拖拽功能在Ext JS中实现起来非常简单,开发者可以轻松实现各种拖拽效果,例如拖拽排序、拖拽到目标位置等。Ext的基础知识点包括元素获取方法Ext.get、动态生成HTML的DomHelper和Template、以及数据处理相关的Ext....

    extapi

    总的来说,EXT API是一个强大而全面的框架,它为JavaScript开发提供了丰富的功能和工具,使得构建功能丰富的Web应用变得简单。通过对这些核心API的深入理解和应用,开发者能够更好地利用EXT JS来提高开发效率和用户...

    Ext 开发指南 学习资料

    只为了树也要学ext。 3.1. 真的,我是为了树,才开始学ext的。 3.2. 传统是先做出一棵树来。 3.3. 超越一个根 3.4. 对tree进行统一配置 3.5. 这种装配树节点的形式,真是让人头大。 3.5.1. TreeLoader外传 之 ...

    整理的Ext API详解

    "EXT核心API详解(五)-Ext.EventManager EventObject CompositeElement CompositeElementLite.txt"讲解了Ext的事件管理系统,包括EventManager和EventObject,它们优化了事件处理,使得跨浏览器的事件操作变得简单。...

    将文件夹生成ext2文件系统镜像的工具genext2fs

    其中,ext2是最早期的Linux日志文件系统,虽然现在已经被更先进的系统取代,但在某些特定场景下仍然有其应用,例如在制作Live CD或RAM Disk时。本文将详细介绍如何使用`genext2fs`工具将一个文件夹制作成ext2文件...

    ext js 中文手册

    模板(Templates)是Ext JS用来处理HTML内容的机制,它允许开发者在JavaScript中编写HTML代码,并在运行时动态地将数据绑定到模板中,生成最终的HTML内容输出。 表单组件是用户与Web应用交互的重要接口,Ext JS提供...

    ext-word文档

    Element是ExtJS的核心概念之一,它代表了DOM树中的一个节点。通过Element,ExtJS可以高效地操作DOM元素,包括创建、查询、修改、删除等。这使得开发者能够轻松地处理网页上的元素,并实现复杂的用户交互效果。 ####...

    Ext Js权威指南(.zip.001

    10.2.1 最简单的grid / 520 10.2.2 列的配置项 / 521 10.2.3 自定义单元格的显示格式 / 523 10.2.4 通过列对象定义单元格的显示格式 / 525 10.2.5 设置行的背景颜色 / 532 10.2.6 列标题的分组 / 533 10.2.7 ...

    普通方式和Ext方式导出Excel代码

    如果数据量较小,且不需要复杂的格式化,普通方式可能更简单;而如果需要保持与用户界面的交互,或者有大量数据和复杂的格式要求,Ext方式可能更适合。 关于“可以选中行来导出”,这通常是指用户在界面上选中特定...

    代码生成器Mgicode生成器JAVA代码生成器

    开发人员最痛苦的事情就无穷无尽的修改,领导简单的一句话:不就修改一个属性吗?你可能就要改一个下午。 能不能有这样的方法呢?修改一处其它处跟着改,这时就需要把原来的线性流程乾变换,改成为无前置的试,即...

    Ext2.0教程与实例 开发与实践笔记

    例如,你可能会学习如何创建一个简单的登录界面,这涉及到按钮(Buttons)、文本字段(Text Fields)以及事件监听器(Event Listeners)的使用。 接下来是"ExtJS2.0开发与实践笔记"系列文档。这些文档深入探讨了Ext...

    EXT JSON Sqlserver 分页 全部正常运行

    JSON格式数据易于解析,可以快速地在JavaScript对象和字符串之间转换,使得前后端数据交换变得简单高效。 3. SQL Server与数据库操作:SQL Server是微软开发的关系型数据库管理系统,支持各种复杂的SQL查询和事务...

    ext两张表组成的tree结构防止id重复的方法(一)

    通过合理地使用数据库约束、生成唯一ID的策略以及EXT的组件和API,我们可以有效地处理由两张表组成的树结构,确保数据的完整性和一致性。在实际应用中,还需要根据业务需求和性能要求,选择最适合的解决方案。

    java后台生成JSON数据

    Java 后台生成 JSON 数据是现代 Web 应用开发中的常见任务,特别是在与前端框架如 EXT 进行数据交互时。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,因其易于人阅读和编写,同时也易于机器解析...

    Ext Grid数据导出到Excel

    ### Ext Grid 数据导出到Excel知识点详解 #### 一、背景与目的 在现代Web应用开发中,数据展示和管理是十分重要的环节。对于大型的数据表格(Grid),开发者经常需要提供一个导出功能,以便用户可以将当前显示的...

    好用的代码生成源码

    一个不怎么智能,半手工方式的,但最适合实际开发的java代码生成器 核心理念: 为你生成一切,再根据所需手工copy回来工作区 用最精简的代码完成最核心的功能 特性 基于FreeMarker模板语言,并且模板易于修改 基于...

Global site tag (gtag.js) - Google Analytics