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

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

代码如下:

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

       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. STL set的用法

    要使用set需要事先引入一个头文件 #include<set> set是一个不允许重复的集合,如果要重复可以使用multiset. 1.set的插入[set.insert();],会返回P ...

  2. android错误之android.content.res.Resources$NotFoundException:

    错误:android.content.res.Resources$NotFoundException: String resource ID #0x1 原因:一般发生在参数 int resId 错误, ...

  3. UI 公钥加密

    RSA算法是一种非对称加密算法,常被用于加密数据传输.如果配合上数字摘要算法, 也可以用于文件签名. 本文将讨论如何在iOS中使用RSA传输加密数据. RSA基本原理 RSA使用"秘匙对&q ...

  4. Flow Problem(最大流)

    Flow Problem Time Limit: 5000/5000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others) Tot ...

  5. Js 30 BOM

    小知识点, 1.document.write()方法: 如果document.write()在一个事件中或window.onload=function(){}这个function里, 那么docume ...

  6. Mirantis OpenStack HA

    Mysql使用Galera做Active/Active集群,同时使用Pacemaker,因为Galera mysql用到了领导机选举机制quorum,所以控制节点至少三个 RabbitMQ使用mirr ...

  7. PyQt中如何结合Qt设计师进行开发

    t设计师是Qt的所见即所得的界面设计工具,通过拖拉方式设计界面,但它并不能产生任何代码. Qt设计师使用.ui后缀的XML文件来存储界面内容.通过pyuic4命令可以编译成.py文件,.py文件的内容 ...

  8. tar 基础

    如何安装---> 出门右转百度. 1.基本使用方式 tar [option] desc_file source_file desc_file 表示要生成的打包文件:source_file 表示需 ...

  9. Ural 1319 - Hotel

       You programmers are lucky! You don't have to deal with these terrible people – designers… This st ...

  10. 变相的取消Datagridview控件的选中状态

    思路:把每一列的文字颜色设为黑色,选中时候的背景为白色,颜色为黑色.每一列都这样设置,那么变相的达到了取消选中效果. 图: