当项目中需要一个部门人员选择或者省市县地域连选时,就需要树形结构的连选。

再此,写了一个简单的树形结构三连选功能,模拟从后台读取数据和处理数据(欢迎大家交流指正)。

代码如下:

循环创建三棵树,其中只有第一棵树有数据,并从后台读取。

       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实现树形结构三连选的更多相关文章

  1. elementui禁用树形结构全部复选框

    需求:编辑回显数据后,禁用树形结构复选框,不可选中,无复选框也不可选中 <el-tabs v-model="activeName" @tab-click="hand ...

  2. Extjs,实现树形结构的总结

    工作总结,用extjs.mybatis.springMVC实现树形显示班级 前台extjs实现树形代码如下: xtype : 'combotree', fieldLabel : '部门名称', nam ...

  3. GridView 树形结构分组的功能

    在“会飞的鱼”博客中看到GridView实现树形结构的代码,经过修改,添加了树形结构中的复选框功能,欢迎吐槽. 源地址:http://www.cnblogs.com/chhuic/archive/20 ...

  4. jQuery+zTree加载树形结构菜单

    jQuery+zTree加载树形结构菜单 由于项目中需要设计树形菜单功能,经过一番捣腾之后,终于给弄出来了,所以便记下来,也算是学习zTree的一个总结吧. zTree的介绍: 1.zTree 是利用 ...

  5. Android - N级树形结构实现

    目前已经实现3级之内的任意级树形结构展示(如果想增加更多级,需要扩展排序算法),并支持单选和多选(使用不同的适配器). 实现使用的控件:ListView 首先,最重要的应该是数据源的格式,支持树形结构 ...

  6. 数据库索引 引用树形结构 B-数 B+数

    MySQL 为什么使用B+数 B-树和B+树最重要的一个区别就是B+树只有叶节点存放数据,其余节点用来索引,而B-树是每个索引节点都会有Data域. 这就决定了B+树更适合用来存储外部数据,也就是所谓 ...

  7. EasyUI之树形结构tree

    转自:https://blog.csdn.net/ya_1249463314/article/details/70305730 版权声明:本文为博主原创文章,未经博主允许不得转载. https://b ...

  8. 纯css实现树形结构

    纯css实现属性结构 **css实现属性结构的思路是利用伪类实现树形结构连接线,如果想实现点击展开和收 缩以及复选框效果还得配合js来实现.其实展开和收缩就是一个点击元素其子元素隐藏 和显示的切换.* ...

  9. VUE实现Studio管理后台(七):树形结构,文件树,节点树共用一套代码NodeTree

    本次介绍的内容,稍稍复杂了一点,用VUE实现树形结构.目前这个属性结构还没有编辑功能,仅仅是展示.明天再开一篇文章,介绍如何增加编辑功能,标题都想好了.先看今天的展示效果: 构建树必须用到递归,使用s ...

随机推荐

  1. Sicily-1006

    一.  题意 这道题就是考排列组合吧,再来就是比较一下字符的下标算一下两个ranking的距离.然后我总结了一个排列和一个组合的实现方法,这道题直接用的是stl 里面的next_permutation ...

  2. android中menu菜单的简单使用

    我认为menu用起来简洁方便,特别是在一些大一点的程序中我们早就厌烦了一遍遍的加button,设置了菜单可谓是事半功倍,简单省事. <1>先声明定义下你的menu: private sta ...

  3. POJ 2104(K-th Number-区间第k大-主席树)

    K-th Number Time Limit: 20000MS   Memory Limit: 65536K Total Submissions: 31790   Accepted: 9838 Cas ...

  4. A - Oil Deposits(搜索)

    搜索都不熟练,所以把以前写的一道搜索复习下,然后下一步整理搜索和图论和不互质的中国剩余定理的题 Description GeoSurvComp地质调查公司负责探测地下石油储藏. GeoSurvComp ...

  5. Error creating bean with name 'org.springframework.validation.beanvalidation.LocalValidatorFactory

    Error creating bean with name ‘org.springframework.validation.beanvalidation.LocalValidatorFactoryBe ...

  6. Flowers(二分水过。。。)

    Flowers Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Sub ...

  7. iOS开发- 获取精确剩余电量

    [UIDevice currentDevice].batteryMonitoringEnabled = YES; double deviceLevel = [UIDevice currentDevic ...

  8. uC/OS II 函数说明 之–OSTaskCreate()与OSTaskCreateExt()

    1. OSTaskCreate()    OSTaskCreate()建立一个新任务,能够在多任务环境启动之前,或者执行任务中建立任务.注意,ISR中禁止建立任务,一个任务必须为无限循环结构.    ...

  9. swf上传文件

    以下是自学it网--中级班上课笔记 网址:www.zixue.it 引入的js包自己在网上找一个,这里好像不支持上传文件,反正我没找到,呵呵~~ html文件 <!DOCTYPE html PU ...

  10. c# 课堂总结6 --集合与结构体

    一.集合 使用时必须添加 System.Collections 集合与数组的区别: 1:数组声明了它容纳的元素的类型,而集合不声明.这是由于集合以object形式来存储它们的元素.初始化时集合无需定义 ...