`
elan1986
  • 浏览: 166934 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

EXTJS tree

ext 
阅读更多
/**
 * 树形UI综合示例(下拉树)
 * 
 * @author XiongChun
 * @since 2010-10-28
 */
Ext.onReady(function() {
			/*var addRoot = new Ext.tree.AsyncTreeNode({
						text : '部门树',
						expanded : true,
						id : '001'
					});*/
			/*var addDeptTree = new Ext.tree.TreePanel({
						loader : new Ext.tree.TreeLoader({
									baseAttrs : {},
									dataUrl : 'treeDemo.ered?reqCode=departmentTreeInit'
								}),
						//root : addRoot,
						autoScroll : true,
						animate : false,
						useArrows : false,
						border : false
					});*/
			var cataglogStore =  Ext.create('Ext.data.TreeStore', {
		    	fields:['id','text', 'leaf', 'cls'],
		        proxy: {
		            type: 'ajax',
		            async: false,
		            url: getRootPath() + '/jwctree.do?method=loadWFTreeMsg'
		        },
		      
		        reader: {
					type: 'json',
					root: 'trees'
				},
		        folderSort: true,
		        sorters: [{
		            property: 'text',
		            direction: 'ASC'
		        }]
		    });
			
			var tree = null;
			tree = Ext.create('Ext.tree.Panel', {
			    store: cataglogStore,
			    rootVisible:false,
			    height: 300,
			    width: 300,
			    title: '作业流结构',
			    useArrows: true,
			    dockedItems: [{
			        xtype: 'toolbar',
			        items: [{
			            text: '全部展开',
			            handler: function(){
			                tree.expandAll();
			            }
			        }, {
			            text: '全部折叠',
			            handler: function(){
			                tree.collapseAll();
			            }
			        }]
			    }],
			    buttons:[{
		       	 text: '确定',
		         handler: function(){
		             msgWin.close();
		         }
		    }],
				listeners: {
					'checkchange': function(node, checked) {/*
						var checkedRecord = tree.getView().getChecked();
						if(checkedRecord && checkedRecord.length > 1){
							for(var i=0; i<checkedRecord.length; i++){
								if(node.get('id') != checkedRecord[i].get('id')){
									checkedRecord[i].set('checked', false);
								}
							}
						}
					*/}
				}
			});
			
			/*// 监听下拉树的节点单击事件
			addDeptTree.on('click', function(node) {
						comboxWithTree.setValue(node.text);
						Ext.getCmp("firstForm").findById('parentid').setValue(node.attributes.id);
						comboxWithTree.collapse();
					});*/
		/*	var comboxWithTree = new Ext.form.ComboBox({
						id : 'parentdeptname',
						store : new Ext.data.ArrayStore({
									fields : [],
									data : [[]]
								}),
						editable : false,
						value : ' ',
						emptyText : '请选择...',
						fieldLabel : '上级部门',
						anchor : '100%',
						mode : 'remote',
						triggerAction : 'all',
						maxHeight : 390,
						// 下拉框的显示模板,addDeptTreeDiv作为显示下拉树的容器
						//tpl : "<tpl for='.'><div style='height:390px'><div id='addDeptTreeDiv'></div></div></tpl>",
						tpl: "<div id='addDeptTreeDiv'>Hello </div>",
						allowBlank : false,
						onSelect : Ext.emptyFn
					});*/
			//tree.render('addDeptTreeDiv');
			// 监听下拉框的下拉展开事件
		/*	comboxWithTree.on('expand', function() {
						// 将UI树挂到treeDiv容器
				alert(Ext.get('addDeptTreeDiv'));
				if(Ext.get('addDeptTreeDiv') != null){
					tree.render('addDeptTreeDiv');
				}
					//tree.render('addDeptTreeDiv');
						// addDeptTree.root.expand(); //只是第一次下拉会加载数据
						//addDeptTree.root.reload(); // 每次下拉都会加载数据

					});*/
			
			
			var tpl_t= Ext.create('Ext.Template', 
                   "<div id='addDeptTreeDiv'>Hello </div>"
                );
			
			var combo = new Ext.form.field.ComboBox({
			    renderTo: document.body,
			    queryMode: 'local',
			    store: new Ext.data.ArrayStore({
			        id: 0,
			        fields: [
			            'myId',  // numeric value is the key
			            'displayText'
			        ],
			        data: [[1, 'item1'], [2, 'item2']]  // data is local
			    }),
			    valueField: 'myId',
			    displayField: 'displayText',
			    triggerAction: 'all',
			   // tpl: tpl_t
			 tpl: "<div id='addDeptTreeDiv' style='height:390px'></div>"
			});
			
			combo.on('expand', function() {
					Ext.defer(function(){  
						tree.render('addDeptTreeDiv');
                    },300,this); 
				// 将UI树挂到treeDiv容器
				//tree.render(this.el);
		//	tree.render(addDeptTreeDiv);
			//	tree.show();
				/*	if(Ext.get('addDeptTreeDiv') != null){
						tree.render('addDeptTreeDiv');
					}*/
			//tree.render('addDeptTreeDiv');
				// addDeptTree.root.expand(); //只是第一次下拉会加载数据
				//addDeptTree.root.reload(); // 每次下拉都会加载数据

			});
			

		/*	var firstForm = new Ext.form.FormPanel({
						id : 'firstForm',
						name : 'firstForm',
						labelWidth : 60, // 标签宽度
						// frame : true, // 是否渲染表单面板背景色
						defaultType : 'textfield', // 表单元素默认类型
						labelAlign : 'right', // 标签对齐方式
						bodyStyle : 'padding:5 5 5 5', // 表单元素和表单面板的边距
						items : [{
									id : 'parentid',
									name : 'parentid',
									fieldLabel : '部门编号',
									readOnly : true,
									anchor : '100%'
								}, comboxWithTree]
					});

			var firstWindow = new Ext.Window({
						title : '<span class="commoncss">标准范例五(下拉树)</span>', // 窗口标题
						layout : 'fit', // 设置窗口布局模式
						width : 350, // 窗口宽度
						height : 160, // 窗口高度
						closable : false, // 是否可关闭
						collapsible : true, // 是否可收缩
						maximizable : true, // 设置是否可以最大化
						border : false, // 边框线设置
						constrain : true, // 设置窗口是否可以溢出父容器
						pageY : 20, // 页面定位X坐标
						pageX : document.body.clientWidth / 2 - 350 / 2, // 页面定位Y坐标
						items : [firstForm]
					});
			firstWindow.show(); // 显示窗口*/
		});
分享到:
评论

相关推荐

    动态加载extjs tree

    ExtJS Tree是Ext JS库中的一个组件,用于创建和展示层次结构的数据,通常表现为树形结构。这个组件在Web应用程序中广泛使用,特别是在需要管理有层级关系的数据时,如文件系统、组织架构或者导航菜单等。动态加载是...

    extjs tree 异步加载树型

    ExtJS Tree 是一个基于 ExtJS 框架的组件,用于构建可交互的、层级结构的树形控件。在 Web 开发中,它经常被用来展示目录结构、组织架构或者复杂的分类数据。异步加载树型是 ExtJS Tree 的一个重要特性,允许只在...

    ExtJs Tree

    根据给定的信息,我们可以深入探讨ExtJs中Tree组件的相关知识点,包括其定义、特性以及具体的配置选项等。 ### ExtJs Tree概述 ExtJs Tree是一种基于ExtJs框架的树形控件,它允许开发者构建出复杂的数据层次结构。...

    extjs tree示例

    ExtJS Tree 示例是一种基于ExtJS库实现的交互式树形组件,它允许用户在Web应用程序中展示层次结构数据。在本示例中,我们将探讨如何使用ExtJS来创建、访问和操作一个树形结构,特别是在数据库操作方面,如添加和删除...

    Extjs Tree + JSON + Struts2 例子

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

    Extjs Tree + JSON + Struts2 示例源代码

    ExtJS Tree + JSON + Struts2 示例源代码是结合了三种技术来实现一个动态的、交互式的树形数据展示的应用。这个示例中,ExtJS用于前端UI的构建,JSON作为数据交换格式,而Struts2则作为后端MVC框架处理请求和返回...

    extjs tree

    ExtJS Tree是基于ExtJS框架实现的一种数据结构展示方式,它主要用于展示层级关系的数据,例如组织结构、文件系统等。ExtJS是一个强大的JavaScript库,专为构建富客户端Web应用程序而设计,提供了丰富的组件化功能和...

    ExtJS Tree教程及例子代码

    ExtJS Tree是Sencha公司开发的ExtJS框架中的一个组件,用于构建可交互的树形数据结构。在网页应用中,树形结构常用于展示层级关系的数据,如目录结构、组织架构或者数据库的表关系。ExtJS Tree组件提供了丰富的功能...

    带复选框的 ExtJs tree

    在给定的文件中,我们关注的是“带复选框的ExtJS tree”这一主题,这涉及到ExtJS框架下的树形组件(TreePanel)如何与复选框结合,为用户提供更为灵活的数据选择和管理方式。 ### 标题解析:“带复选框的ExtJS tree...

    extjs tree 学习资料

    ExtJS Tree 是一个功能强大的JavaScript组件,用于在Web应用程序中创建和展示层次结构的数据,它在ExtJS框架中扮演着重要角色。这个压缩包“extjs tree 学习资料”显然是为那些希望深入理解并掌握ExtJS Tree组件的...

    Extjs tree实例【源代码】

    ExtJs 2.2.1 tree实例,内附mysql数据文件 1. 数据节点一次性加载 2. 节点分为两个类(项目和设备) 3. 右键菜单 4. 节点增、删、改操作 ....... 后台是java struts1。 本例旨在说明extjs的tree操作,后台操作很简陋...

    extjs-tree.zip_extjs tree

    ExtJS Tree是一个强大的JavaScript库,专门用于创建交互式的树形结构。这个"extjs-tree.zip"文件包含了使用Java编写的ExtJS异步树形控件的示例代码,旨在帮助开发者快速理解和应用这一功能。ExtJS是Sencha公司开发的...

    Extjs的tree

    ExtJS的Tree组件是Sencha ExtJS框架中的一个重要部分,用于构建可交互的树形结构数据展示。在ExtJS中,TreePanel是用来显示和操作树形数据的主要组件,它可以用于组织层次化的信息,如文件系统、组织架构或者分类...

    Extjs Tree + JSON + Struts2

    ExtJS Tree + JSON + Struts2 是一个常见的前端与后端交互技术组合,常用于构建动态的、数据驱动的树形结构界面。在这个项目中,`index.html` 是主页面,`tree.js` 包含了 ExtJS 的树组件相关的 JavaScript 代码,`...

    extjs的tree的使用

    在深入探讨ExtJS中Tree组件的使用之前,我们先来了解一下ExtJS本身。ExtJS是一个用JavaScript编写的开源前端框架,旨在帮助开发者构建复杂、高性能的Web应用程序。它提供了丰富的UI组件库,其中包括Tree(树形)组件...

    extjs tree 节点 链接 新窗口

    在ExtJS中,Tree是一个非常重要的组件,它用于呈现层级结构的数据。在处理Tree节点时,特别是涉及到链接和新窗口打开的情况,有一些特定的技术要点需要注意。 首先,标题“extjs tree 节点 链接 新窗口”指的是在...

    struts2与extjs tree的完美结合

    在这个“struts2与extjs tree的完美结合”的示例中,开发者利用了Struts2的Annotation特性来简化配置,以及Struts2JSON插件来处理JSON数据,从而实现在服务器端动态生成和返回Tree节点。Annotation使得开发者能够在...

    extjs tree + json+struts2示例源代码

    ExtJS Tree + JSON + Struts2 示例源代码详解 在Web开发中,构建交互式的用户界面是关键。ExtJS是一个强大的JavaScript库,尤其擅长创建桌面级的Web应用。本示例将详细介绍如何结合ExtJS的Tree组件、JSON数据格式...

    extjs tree CHECKBOX 多选删除未实现(带SQL脚本)

    在网上下载别人的代码,改进加上CHECKBOX ,但是批量删除做不出来,希望高手完成并分享。

    Extjs tree+grid+form+panel 使用实例

    Ext各种组件的使用实例,Extjs tree+grid+form+panel 使用实例

Global site tag (gtag.js) - Google Analytics