/**
* 树形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是Ext JS库中的一个组件,用于创建和展示层次结构的数据,通常表现为树形结构。这个组件在Web应用程序中广泛使用,特别是在需要管理有层级关系的数据时,如文件系统、组织架构或者导航菜单等。动态加载是...
ExtJS Tree 是一个基于 ExtJS 框架的组件,用于构建可交互的、层级结构的树形控件。在 Web 开发中,它经常被用来展示目录结构、组织架构或者复杂的分类数据。异步加载树型是 ExtJS Tree 的一个重要特性,允许只在...
根据给定的信息,我们可以深入探讨ExtJs中Tree组件的相关知识点,包括其定义、特性以及具体的配置选项等。 ### ExtJs Tree概述 ExtJs Tree是一种基于ExtJs框架的树形控件,它允许开发者构建出复杂的数据层次结构。...
ExtJS Tree 示例是一种基于ExtJS库实现的交互式树形组件,它允许用户在Web应用程序中展示层次结构数据。在本示例中,我们将探讨如何使用ExtJS来创建、访问和操作一个树形结构,特别是在数据库操作方面,如添加和删除...
ExtJS Tree 需要的数据结构是一个 JSON 数组,每个元素代表树的一个节点。节点可以包含属性如 "cls"(样式类)、"id"(唯一标识)、"leaf"(是否为叶子节点)以及 "children"(子节点数组)。例如: ```javascript ...
ExtJS Tree + JSON + Struts2 示例源代码是结合了三种技术来实现一个动态的、交互式的树形数据展示的应用。这个示例中,ExtJS用于前端UI的构建,JSON作为数据交换格式,而Struts2则作为后端MVC框架处理请求和返回...
ExtJS Tree是基于ExtJS框架实现的一种数据结构展示方式,它主要用于展示层级关系的数据,例如组织结构、文件系统等。ExtJS是一个强大的JavaScript库,专为构建富客户端Web应用程序而设计,提供了丰富的组件化功能和...
ExtJS Tree是Sencha公司开发的ExtJS框架中的一个组件,用于构建可交互的树形数据结构。在网页应用中,树形结构常用于展示层级关系的数据,如目录结构、组织架构或者数据库的表关系。ExtJS Tree组件提供了丰富的功能...
在给定的文件中,我们关注的是“带复选框的ExtJS tree”这一主题,这涉及到ExtJS框架下的树形组件(TreePanel)如何与复选框结合,为用户提供更为灵活的数据选择和管理方式。 ### 标题解析:“带复选框的ExtJS tree...
ExtJS Tree 是一个功能强大的JavaScript组件,用于在Web应用程序中创建和展示层次结构的数据,它在ExtJS框架中扮演着重要角色。这个压缩包“extjs tree 学习资料”显然是为那些希望深入理解并掌握ExtJS Tree组件的...
ExtJs 2.2.1 tree实例,内附mysql数据文件 1. 数据节点一次性加载 2. 节点分为两个类(项目和设备) 3. 右键菜单 4. 节点增、删、改操作 ....... 后台是java struts1。 本例旨在说明extjs的tree操作,后台操作很简陋...
ExtJS Tree是一个强大的JavaScript库,专门用于创建交互式的树形结构。这个"extjs-tree.zip"文件包含了使用Java编写的ExtJS异步树形控件的示例代码,旨在帮助开发者快速理解和应用这一功能。ExtJS是Sencha公司开发的...
ExtJS的Tree组件是Sencha ExtJS框架中的一个重要部分,用于构建可交互的树形结构数据展示。在ExtJS中,TreePanel是用来显示和操作树形数据的主要组件,它可以用于组织层次化的信息,如文件系统、组织架构或者分类...
ExtJS Tree + JSON + Struts2 是一个常见的前端与后端交互技术组合,常用于构建动态的、数据驱动的树形结构界面。在这个项目中,`index.html` 是主页面,`tree.js` 包含了 ExtJS 的树组件相关的 JavaScript 代码,`...
在深入探讨ExtJS中Tree组件的使用之前,我们先来了解一下ExtJS本身。ExtJS是一个用JavaScript编写的开源前端框架,旨在帮助开发者构建复杂、高性能的Web应用程序。它提供了丰富的UI组件库,其中包括Tree(树形)组件...
在ExtJS中,Tree是一个非常重要的组件,它用于呈现层级结构的数据。在处理Tree节点时,特别是涉及到链接和新窗口打开的情况,有一些特定的技术要点需要注意。 首先,标题“extjs tree 节点 链接 新窗口”指的是在...
在这个“struts2与extjs tree的完美结合”的示例中,开发者利用了Struts2的Annotation特性来简化配置,以及Struts2JSON插件来处理JSON数据,从而实现在服务器端动态生成和返回Tree节点。Annotation使得开发者能够在...
ExtJS Tree + JSON + Struts2 示例源代码详解 在Web开发中,构建交互式的用户界面是关键。ExtJS是一个强大的JavaScript库,尤其擅长创建桌面级的Web应用。本示例将详细介绍如何结合ExtJS的Tree组件、JSON数据格式...
在网上下载别人的代码,改进加上CHECKBOX ,但是批量删除做不出来,希望高手完成并分享。
Ext各种组件的使用实例,Extjs tree+grid+form+panel 使用实例