Extjs实现树形结构三连选
当项目中需要一个部门人员选择或者省市县地域连选时,就需要树形结构的连选。
再此,写了一个简单的树形结构三连选功能,模拟从后台读取数据和处理数据(欢迎大家交流指正)。
代码如下:
循环创建三棵树,其中只有第一棵树有数据,并从后台读取。
var root = new Array();
var tree = new Array();
var loader = new Ext.tree.TreeLoader({
dataUrl: 'datatree.aspx'
})
for (var i = 0; i < 3; i++) {
root[i] = new Ext.tree.AsyncTreeNode({
id: 'root' + i + '',
text: '树' + i + ''
})
tree[i] = new Ext.tree.TreePanel({
animate: true, //是否展开有动画效果
title: '我是第' + i + '棵树',
collapsible: true,
enableDD: true, //是否可以拖放
enableDrag: true, //节点是否可以拖动
rootVisible: true, //根节点是否禁用
autoScroll: true, //是否有滚动条
autoHeight: true,
width: 200,
lines: true,
useArrows: true,
root: root[i]
})
}
配置treePanel属性:
这里需要注意的是:一定要为第二三棵树的根节点设置leaf=true属性,否则加载页面后默认这两棵树根节点下有节点,将会影响程序正常运行
root[1].leaf = true;
root[2].leaf = true;
tree[0].region = 'west';
tree[0].loader = loader;
tree[1].region = 'center';
tree[2].region = 'east';
创建window:
var win = new Ext.Window({
                title: "window",
                height: 500,
                width: 600,
                plain: true,
                layout: 'border',
                defaults: {
                    split: true,                 //是否有分割线
                    collapsible: true,           //是否可以折叠
                    bodyStyle: 'padding:15px'
                },
                items: [tree[0], tree[1], tree[2]]
            })
            win.show();
为treePanel添加双击事件:
分别为第一棵和第二棵树添加事件:
       tree[0].on('dblclick', function (node, event) {
                tree[1].loader.dataUrl = 'treeNode/tree1_1.aspx?name=' + node.text + '';
                tree[1].getRootNode().setText('' + node.text + '');
                tree[1].root.reload();
                tree[1].root.expand(true);
            });
            tree[1].on('dblclick', function (node, event) {
                tree[2].loader.dataUrl = 'treeNode/tree1_1.aspx?name=' + node.text + '';
                tree[2].getRootNode().setText('' + node.text + '');
                tree[2].root.reload();
                tree[2].root.expand(true);
            });
后台数据处理页面:
tree1_1.aspx页面:
string param = Request.Params["name"];
data = "[{text:'" + param + ".1',leaf:true},{text:'" + param + ".2',leaf:true},{text:'" + param + ".3',leaf:true}]";
datatree.aspx页面:
data = "[{text:'10.1',leaf:true},{text:'10.2',leaf:true},{text:'10.3',leaf:true}]";
效果图:

Extjs实现树形结构三连选的更多相关文章
- elementui禁用树形结构全部复选框
		
需求:编辑回显数据后,禁用树形结构复选框,不可选中,无复选框也不可选中 <el-tabs v-model="activeName" @tab-click="hand ...
 - Extjs,实现树形结构的总结
		
工作总结,用extjs.mybatis.springMVC实现树形显示班级 前台extjs实现树形代码如下: xtype : 'combotree', fieldLabel : '部门名称', nam ...
 - GridView 树形结构分组的功能
		
在“会飞的鱼”博客中看到GridView实现树形结构的代码,经过修改,添加了树形结构中的复选框功能,欢迎吐槽. 源地址:http://www.cnblogs.com/chhuic/archive/20 ...
 - jQuery+zTree加载树形结构菜单
		
jQuery+zTree加载树形结构菜单 由于项目中需要设计树形菜单功能,经过一番捣腾之后,终于给弄出来了,所以便记下来,也算是学习zTree的一个总结吧. zTree的介绍: 1.zTree 是利用 ...
 - Android - N级树形结构实现
		
目前已经实现3级之内的任意级树形结构展示(如果想增加更多级,需要扩展排序算法),并支持单选和多选(使用不同的适配器). 实现使用的控件:ListView 首先,最重要的应该是数据源的格式,支持树形结构 ...
 - 数据库索引 引用树形结构  B-数 B+数
		
MySQL 为什么使用B+数 B-树和B+树最重要的一个区别就是B+树只有叶节点存放数据,其余节点用来索引,而B-树是每个索引节点都会有Data域. 这就决定了B+树更适合用来存储外部数据,也就是所谓 ...
 - EasyUI之树形结构tree
		
转自:https://blog.csdn.net/ya_1249463314/article/details/70305730 版权声明:本文为博主原创文章,未经博主允许不得转载. https://b ...
 - 纯css实现树形结构
		
纯css实现属性结构 **css实现属性结构的思路是利用伪类实现树形结构连接线,如果想实现点击展开和收 缩以及复选框效果还得配合js来实现.其实展开和收缩就是一个点击元素其子元素隐藏 和显示的切换.* ...
 - VUE实现Studio管理后台(七):树形结构,文件树,节点树共用一套代码NodeTree
		
本次介绍的内容,稍稍复杂了一点,用VUE实现树形结构.目前这个属性结构还没有编辑功能,仅仅是展示.明天再开一篇文章,介绍如何增加编辑功能,标题都想好了.先看今天的展示效果: 构建树必须用到递归,使用s ...
 
随机推荐
- JAX-RS
			
一.简介 JAX-RS(Java API for RESTful Web Services),是JAVAEE6中提出的Java 编程语言的应用程序接口,支持按照表述性状态转移(REST)架构风格创建W ...
 - windows phone:使用sqlite-net
			
继上篇文章后,这里简单介绍下sqlite-net的使用(示例不为作者所写,摘自于:https://github.com/peterhuene/sqlite-net) Please consult th ...
 - js获取控件位置
			
//获取坐标位置 function getpos(e) { var t=e.offsetTop; var l=e.offsetLeft; var height=e.offsetHeight; whil ...
 - js php xmlrequest 上传图片
			
本来想用插件上传图片的,后来自己写了一个简单的js实现异步的图片上传,不多说上代码很easy upload.php <?php if(isset($_FILES["myfile&quo ...
 - arduino电子琴(2015-11-04)
			
前言 这是论坛上一个坛友问的问题,想做一个可变音调的电子琴,想着正好练练手,就顺手做一下. 接线图
 - BZOJ 1269: [AHOI2006]文本编辑器editor( splay )
			
splay..( BZOJ 1507 题目基本相同..双倍经验 ) ------------------------------------------------------------------ ...
 - oracle语句块调用
			
如果要写一个临时的语句块调用某个过程,可以参照以下方式: declare cursor v_is is select distinct aac001 from sic84 where aab001=5 ...
 - mongodb进阶一之高级查询
			
上篇文章我们讲了mongodb的crud基本操作 http://blog.csdn.net/stronglyh/article/details/46812579 这篇我们来说说mongodb的进阶-- ...
 - Effective C++ Item 40 明智而审慎地使用多重继承
			
本文为senlie原创,转载请保留此地址:http://blog.csdn.net/zhengsenlie 经验:多重继承比单一继承复杂.它可能导致新的歧义性,以及对 virtual 继承的须要 演示 ...
 - 在ibatis下匹配特殊手机号码(oracle数据库)
			
<isNotNull prepend="AND" property="endNumber"> <isNotEmpty property=&qu ...