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 ...
随机推荐
- Lua,Lua API,配置文件
想像一个场景:你的c程序须要有一个窗体,你想让用户能够自己定义窗体大小.方法非常多.比方使用环境变量,或键值对的文件. 无论如何,你须要解析它. 使用lua配置文件是个不错的选择. 首先,你能够定义例 ...
- sizeof,终极无惑(上)
0. 前向声明 sizeof,一个其貌不扬的家伙,引无数菜鸟竟折腰,小虾我当初也没少犯迷糊,秉着“辛苦我一个,幸福千万人”的伟大思想,我决定将其尽可能具体的总结一下. 但当我总结的时候才发现,这个问题 ...
- Python+Django+SAE系列教程11-----request/pose/get/表单
表单request,post,get 首先我们来看看Request对象,在这个对象中包括了一些实用的信息,学过B/S开发的人来说这并不陌生,我们来看看在Django中是怎样实现的: 属性/方法 说明 ...
- BitNami Redmine Stack
BitNami Redmine Stack 是打包了 Redmine 的一键安装程序包,包括:Apache, MySQL, Ruby On Rails, and Subversion Redmine ...
- vim下使用YouCompleteMe实现代码提示、补全以及跳转设置
配置YouCompleteMe 1. 安装vundle vundle是一个管理vim插件的工具,使用vundle安装YouCompleteMe比较方便. 按照作者在https://github.com ...
- 【Eclipse Plugin】SonarQube 启动报错
由于近期,信息安全部在搞代码优化工作.所以,配合上边的工作需求,使用sonar对代码进行优化检测.在Eclipse上装Sonar很简单,只要在Eclipse Marketplace上面搜索“Sonar ...
- for(;;)和 while(1) 有什么区别吗?for()和while()的使用情景。
1 for(;;)和 while(1) 有什么区别吗? void main(void) { ; // for(;;) ) { a++; } } arm-linux-gcc -c -o for.o fo ...
- android 判断网络连接的工具类
package com.way.util; import android.content.Context; import android.net.ConnectivityManager; import ...
- Android:设置背景图和标题
在MainActivity.onCreate(Bundle savedInstanceState){}设置背景图和标题. setTitle("wyl的diary");//标题,即左 ...
- ECSHOP常用函数
lib_time.php gmtime() #获得当前格林威治时间的时间戳 /$0 server_timezone() #获得服务器的时区 /$0 local_mktime($hour = NULL ...