`
java_xiaoyi
  • 浏览: 48606 次
  • 性别: Icon_minigender_1
  • 来自: 木木乃州
社区版块
存档分类
最新评论

分享:一个ext tree的例子~

    博客分类:
  • EXT
EXT 
阅读更多
<script type="text/javascript">
	Ext.onReady(function(){
		var tree= new Ext.tree.TreePanel({
			el:'tree',
			loader:new Ext.tree.TreeLoader()
		});
		
		var root = new Ext.tree.AsyncTreeNode({
			text:'我是根',
			children:[{
				text:'01',qtip:'我是鼠标提示',//如果有qtip属性,则必须要有Ext.QuickTips.init()这句话
				children:[{
					text:'01-01',
					leaf:true   //这里为true代表他下面已经没有子节点,不需要加载出来
				},{
					text:'01-02',
					children:[{
						text:'01-02-01',
						leaf:true
					},{
						text:'01-02-02',
						leaf:true
					}]
				},{
					text:'01-03',
					leaf:true,
					href:"http://www.baidu.com",//通过点击节点,可以链接到一个地址
					hrefTarget:'_blank'   
				}]
			},
			{
				text:'02',
				leaf:true,
				icon:'user_female.png'  //自定义节点的图标
			}]
		});
		tree.setRootNode(root);
		tree.render();
		
		tree.on('dblclick',function(node){
			Ext.Msg.alert('您刚刚双击了',node.text);
		});
		
		//右键菜单
		var contextmenu = new Ext.menu.Menu({
			id:'thecontextmenu',
			items:[{
				text:'选择',
				 handler: function() {			           
	                   alert('你选择的是=' + tree.getSelectionModel().getSelectedNode().text + " 结点");
	                  }
			}]
		});
		
		//右键菜单显示
		tree.on('contextmenu',function(node,e){
			 e.preventDefault();//防止浏览器弹出默认的右键菜单
			node.select();//节点进入选中状态
			contextmenu.showAt(e.getXY());
		});
		
		tree.on('click',function(node){
			Ext.Msg.show({
				title:'提示',
				msg:'您点击了:'+node,
				animEl:node.ui.textNode
			});
		});
		
		root.expand();
		Ext.QuickTips.init(); //初始化接点提示
		tree.expandAll();//展开所有节点
	});
	</script>

注:body中应该有个<div id='tree'></div>,最好给其设置合适的高度,用来显示tree。
上面节点都是写死的。今天搞了下动态加载的,其实也不难,只是在dataUrl上写上你要提交到得url即可。
<script type="text/javascript">
    Ext.onReady(function(){
        var tree= new Ext.tree.TreePanel({
            el:'tree',
            loader:new Ext.tree.TreeLoader({dataUrl:'GetTreeServlet'})//'GetTreeServlet'是我在后台的servlet的名字
        });
        var root = new Ext.tree.AsyncTreeNode({text:'偶是根'});
        tree.setRootNode(root);
        root.expand();
        tree.render();
        //tree.expandAll();//展开所有节点
    });
</script>

后台的java代码:
request.setCharacterEncoding("UTF-8");
		response.setCharacterEncoding("UTF-8");
		StringBuffer buffer = new StringBuffer();
		/***
		 * 返回的内容要是这样:
		 * [
		 * {text:'根节点一',children:[
		 * 	{text:'根节点一一',leaf:true},
		 * 	{text:'根节点一二',leaf:true}
		 * ]},
		 * {text:'根节点二',leaf:true}
		 * ]
		 * **/
		buffer.append("[");
		buffer.append("{");
		buffer.append("text:'根节点一',");
		buffer.append("children:");
		buffer.append("[");
		buffer.append("{");
		buffer.append("text:'根节点一一',leaf:true");
		buffer.append("},");
		buffer.append("{");
		buffer.append("text:'根节点一二',leaf:true");
		buffer.append("}");
		buffer.append("]");
		buffer.append("},");
		buffer.append("{");
		buffer.append("text:'根节点二',");
		buffer.append("leaf:true");
		buffer.append("}");
		buffer.append("]");
		response.getWriter().print(buffer.toString());

记得设定编码方式为"UTF-8"。页面效果如图


  • 大小: 7.3 KB
分享到:
评论

相关推荐

    extTree例子点击出现等

    在本案例中,“extTree例子点击出现界面”指的是用户在浏览ExtTree时,通过点击节点可以触发一个交互式的操作,比如弹出一个新的界面或窗口。 在Ext JS中,`Ext.tree.Panel`(或简称为`TreePanel`)是用于创建树形...

    Ext.tree.TreeLoader附带封装的json类

    `Ext.tree.TreeLoader`是Ext JS库中的一个组件,它负责加载和解析树形结构的数据,而JSON(JavaScript Object Notation)则是一种轻量级的数据交换格式,非常适合于在服务器和客户端之间传输数据。我们将通过实例...

    ext tree json 例子(不含EXT包)

    "ext tree json 例子(不含EXT包)"这个标题暗示我们将讨论如何在不直接引用EXT完整包的情况下,仅使用EXT JS中关于TreePanel和JSON解析的部分来构建一个动态的树形结构。这可能涉及到手动引入EXT的核心组件,如...

    ext的tree两个拖拽例子

    在EXT JS这个强大的JavaScript框架中,TreePanel是用于展示层级数据的一个组件,它通常用于构建树形结构,例如文件系统、组织结构等。本主题主要关注EXT的TreePanel中的拖放(Drag and Drop)功能,这是一项允许用户...

    ext grid tree 应用

    在EXT JS框架中,"ext grid tree 应用"是一个常见的功能组合,它结合了Grid面板和Tree面板的优势,用于展示复杂的数据结构。Grid通常用于显示二维表格数据,而Tree则用于展示层次化的数据。在这个例子中,开发者通过...

    Ext树例子

    总结来说,`Ext树例子`是关于如何使用ExtJS库中的`Ext.tree.Panel`组件来展示和操作层次化数据的一个主题。`tree1.txt`和`tree2.txt`文件提供了创建树的数据源,通过解析这些文件,我们可以构建出具有实际数据的交互...

    多年积攒下来的EXT3.3例子大放送

    EXT3.3是一个非常经典且强大的JavaScript框架,主要用于构建富客户端的Web应用程序。这个压缩包文件"多年积攒下来的EXT3.3例子大放送"显然包含了一系列EXTJS的示例代码,帮助开发者深入理解和应用EXTJS控件,以及...

    ExtDemo例子绝对能跑起来

    "ExtDemo例子绝对能跑起来"这个标题表明我们将探讨一个关于ExtJS的示例项目,这个项目在正确配置和执行后,能够正常运行。 描述中的"ext ext例子"可能是由于输入错误,但我们可以理解为这是在强调ExtJS框架的实例。...

    Extjs Tree + JSON + Struts2 例子

    ExtJS Tree 需要的数据结构是一个 JSON 数组,每个元素代表树的一个节点。节点可以包含属性如 "cls"(样式类)、"id"(唯一标识)、"leaf"(是否为叶子节点)以及 "children"(子节点数组)。例如: ```javascript ...

    EXT 树形结构样例

    EXT Tree 是一个强大的JavaScript组件,它是EXT JS框架的一部分,用于构建可交互的树形结构界面。EXT Tree在Web应用中广泛使用,特别是在需要展示层级关系数据的场景下,如文件系统、组织架构或导航菜单。这个"EXT ...

    Ext 中的Tree实现不同节点不同的右键菜单

    `Ext JS`的Tree组件是一个可扩展的树形结构,用于展示层级数据。在默认情况下,Tree的所有节点通常具有相同的交互行为。然而,根据业务需求,我们可能希望某些特定节点拥有独特的功能,这可以通过自定义右键菜单来...

    extjs 可编辑的表格树 Ext.tree.ColumnTree Ext.tree.ColumnTreeEditor

    extjs 可编辑的表格树,每个单元格自定义编辑组件,可以自适应列宽,只有源码与例子,运行实例要修改路径,不然图片不能显示,注意etree.jsp的js引入路径 支持Ext2.x以上版本 如运行不了EmailTo : codeme9@gmail....

    ext简单例子

    EXT是一个强大的JavaScript库,主要用于构建富客户端Web应用。它提供了丰富的组件化UI元素,包括树形结构、表单、网格、日期选择器、消息框、下拉框和按钮等。以下是对这些组件的详细说明: 1. **树(Tree)**: ...

    Ext经典例子整合 快速上手必看

    EXTJS是一个强大的JavaScript库,专用于构建富客户端Web应用程序。这个"Ext经典例子整合 快速上手必看"的资源包提供了多个EXTJS组件的示例,帮助开发者快速掌握EXTJS的核心概念和用法。以下是对每个示例及其相关知识...

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

    首先,`Ext.Panel`是一个可配置的容器,它可以包含其他组件,如按钮、表格、表单等。它提供了丰富的布局管理,如`fit`布局(适合填充其父容器)、`border`布局(带有边框)等。动态加载本地数据到`Ext.Panel`通常...

    Rails中应用Ext.tree:以中国的省市地区三级联动选择为例

    在省市地区联动选择的例子中,我们可以创建一个模型,如`Region`,并用`acts_as_nested_set`来管理其层级关系。 首先,我们需要添加`acts_as_nested_set`到项目中。在Gemfile中加入以下行: ```ruby gem 'nested_...

    ExtJsByZheng.rar_ExtJsByZheng_ext_ext 标签_ext tree_grid

    Ext基本使用入门例子:包括布局,窗口,Tab,Tree,grid等,后台使用Servlet。可以直接在MyEclipse6中运行。

    EXT 控件拖动例子

    EXTJS 提供了一个名为`Ext.dd.DragDrop`的接口,它使得在界面上的元素可以被拖动和放置。这个接口包含了拖放所需的所有基本功能,包括鼠标事件处理、拖动过程中的视觉反馈和目标检测等。在EXTJS 中,控件(如面板、...

    简单的EXT加载数据的例子

    EXT是一个强大的JavaScript库,主要用于构建富客户端Web应用。在EXT框架中,Treepanel和Gridpanel是两个核心组件,它们分别用于展示和操作树形结构数据以及表格数据。本示例将详细介绍如何在EXT中加载数据,特别是...

    很绚丽的EXT例子(功能还蛮多的)

    EXT是一个强大的JavaScript库,主要用于构建富客户端Web应用。EXT的核心在于其组件模型,它提供了大量预先封装好的用户界面组件,如表格、面板、菜单、工具栏等,使得开发者能够快速构建出美观且功能丰富的交互式...

Global site tag (gtag.js) - Google Analytics