TreePanel 简单实例。

 <link  rel="stylesheet"  href="Js/ext-4.2/resources/css/ext-all-neptune.css"/>
<script src="Js/jQuery/jquery-1.8.2.min.js" type="text/javascript"></script>
<script src="Js/ext-4.2/ext-all-dev.js" type="text/javascript"></script> <script type="text/javascript"> var tree;
$(document).ready(function() { //Ext.create('Ext.tree.Panel', { }); tree = new Ext.tree.TreePanel({
renderTo: 'tree1',
title: 'Simple Tree',
multiSelect: true,
width: 200,
height: 450,
viewConfig: {
onCheckboxChange: function(e, t) {
var item = e.getTarget(this.getItemSelector(), this.getTargetEl()), record; if (item) {
record = this.getRecord(item);
var check = !record.get('checked');
//getSelectedNodes()
record.set('checked', check);
if (check) {
record.bubble(function(parentNode) {
parentNode.set('checked', true);
});
record.cascadeBy(function(node) {
node.set('checked', true);
});
// record.expand(); 联动效果 自动收起 自动展开
// record.expandChildren();
} else {
// record.collapse();
// record.collapseChildren();
record.cascadeBy(function(node) {
node.set('checked', false);
});
record.bubble(function(parentNode) {
var childHasChecked = false;
var childNodes = parentNode.childNodes;
if (childNodes || childNodes.length > 0) {
for (var i = 0; i < childNodes.length; i++) {
if (childNodes[i].data.checked) {
childHasChecked = true;
break;
}
}
}
if (!childHasChecked) {
parentNode.set('checked', false);
}
}); }
}
}
},
root: {
text: 'Root',
expanded: true, //是否展开子节点,默认为false
checked: true,
children: [
{ id: '1', text: 'Child 1', checked: true, leaf: true },
{ id: '2', text: 'Child 2', checked: true, leaf: true },
{ id: '3', text: 'Child 3', checked: true, expanded: true, children: [{ id: '4', text: 'Grandchild', checked: true, leaf: true}] }
]
}
}); //窗体
var win = new Ext.Window({
title: '窗口',
width: 476,
height: 574,
resizable: true,
modal: true,
closable: true,
maximizable: true,
minimizable: true,
items: tree
});
win.show(); var attr = tree.getChecked(); for (var le = 0; le < attr.length; le++) {
var json = eval(attr[le].getData());
            json.text;
} }); </script>
root:是树的根节点。
checked: true 树有选择框。
onCheckboxChange:设置树连及效果,父级选中后 所有子集也全部选中。
getChecked():获取所有选择的 树节点数据。
getChecked()下的getData()获取每个节点的数据 。

Extjs Ext.TreePanel的更多相关文章

  1. extjs,清空treepanel数据。

    extjs,清空treepanel数据. //调用 var rootNode = tree.getRootNode(); removeChildrenData(rootNode); //清理节点的数据 ...

  2. Extjs Ext.ux.IFrame的用法 以及父子窗口间函数相互调用

    Extjs Ext.ux.IFrame的用法 以及父子窗口间函数相互调用 Ext.ux.IFrame Extjs官方提供的一个组件,可以很方便的使用. 这样就完成了一个简单的IFrame的使用,通过E ...

  3. Extjs & Ext.net中的一些属性

    Extjs & Ext.Net 弹出整个浏览器对话框的方法 top.Ext.Msg.alert("值"); top.Ext.Msg.confirm("值" ...

  4. ExtJs Ext.panel.Panel和Ext.container.Viewport布局问题

    Ext.container.Viewport Ext.panel.Panel Viewport 它的布局会占用整个 body,也应该是这样,它会随着浏览器的高度和宽度的变化而变化. Panel 布局时 ...

  5. ExtJs2.0学习系列(12)--Ext.TreePanel之第一式

    今天开始,我们就开始一起学习TreePanel了,道个歉,上篇的代码很乱阿. 我总是喜欢用最简单的例子开始,去理解最基本的使用方法,减少对i后面高级使用的干扰! TreePanel是继承自Panel, ...

  6. Extjs Ext.onReady的用法

    最近在学习Extjs,当然首先学习的肯定是从官网下载下来的example. 从学习上而言对于Extjs,我个人认同的是李林峰老师所言先从视图开始,搞一些所见即所得的东西. 废话有点多,对于Extjs而 ...

  7. Javascript - ExtJs - Ext.form.Panel组件

    FormPanel组件(Ext.form.FormPanel) logogram:Ext.form.Panel | xtype:form Ext.form.Panel.配置 frame }//旗下所有 ...

  8. ExtJS Ext.Ajax.request最好设为同步

    ExtJS 中Ext.Ajax.request最好设为同步,即async: false,因为如果Ajax后面需要用到Ajax更新的数据的话,设置同步,后面才能用到最新的数据. function Get ...

  9. ExtJS Ext.MessageBox.alert()弹出对话框详解

    Ext.MessageBox是一个工具类,他继承自Obiect对象,用来生成各种风格的信息提示对话框,Ext.Msg是该类的别名,使用Ext.MessageBox和用Ext.Msg效果是一样的,而后者 ...

随机推荐

  1. 程序或-内存区域分配& ELF分析 ***

    一.在学习之前我们先看看ELF文件. ELF分为三种类型: 1. .o 可重定位文件(relocalble file) 2. 可执行文件 3. 共享库(shared library) 三种格式基本上从 ...

  2. Pycharm安装工具包

    1.在settings->Project Interpreter->configure interpreters->Install中可以找到所有的模块. PyCharm IDE会帮助 ...

  3. Stratix IV内嵌DPA电路的基本结构

    StratixIV内嵌DPA电路的基本结构 Altera DPA电路特点如下. 可以放松高速接口对时钟到数据通道和数据通道之间对Skew的严格要求. 最高支持1.6Gbit/s应用. 专用硬件DPA ...

  4. Activity小技巧

    随时随地退出程序 新建一个结合类对所有活动进行管理. public class ActivityCollector{ public static List<Activity> activi ...

  5. 安装用于跨平台移动开发的 Visual C++

    安装用于跨平台移动开发的 Visual C++ Visual Studio 2015   若要了解有关 Visual Studio 2017 RC 的最新文档,请参阅 Visual Studio 20 ...

  6. docker 及 linux 初接触

    3天来净折腾这俩东西了,总结一下(很多都是同事给出的解释,先不保证正确性): 1.docker 里的images 和 container images 类似系统盘,container类似用系统盘装起来 ...

  7. HTML注册页面验证注册信息

    在这里主要介绍两种验证方式,一种是点击注册按钮后会提示最上方的出错位置,弹出窗口提示格式不对.另一种是利用鼠标事件,在鼠标进行不同操作时会有不同的click事件. 这两种都是利用javascript, ...

  8. C#一个判断子串在父串中出现的次数

    /// <summary> /// 计算字符串中子串出现的次数 /// </summary> /// <param name=”str”>字符串</param ...

  9. LT3756/LT3756-1/LT3756-2 - 100VIN、100VOUT LED 控制器

    LT3756/LT3756-1/LT3756-2 - 100VIN.100VOUT LED 控制器 特点 3000:1 True Color PWMTM调光 宽输入电压范围:6V至 100V 输出电压 ...

  10. Halcon学习之文本操作

    1.          新建文本文件open_file ( : : FileName, FileType : FileHandle ) 创建 ( 'output' or 'append' )或者打开  ...