一、TreeGrid组件相关的类

1、TreeGrid(_config)

_config:json格式的数据,组件所需要的数据都通过该参数提供。

2、TreeGridItem(_root, _rowId, _rowIndex, _rowData)

_root:显示组件实例的目标容器对象。

_rowId:选中行的id。

_rowIndex:选中行的索引。

_rowData:json格式的行数据。

二、_config参数详解

id:组件实例的id。

width:组件实例的宽度。

renderTo:用于显示组件实例的容器对象的id。一般用div作为容器。

headerAlign:标题行的对齐方式。

headerHeight:标题行的高度。

dataAlign:数据行的对齐方式。

indentation:层级缩进量。

folderColumnIndex:显示图标的数据列的索引,从0开始。

folderOpenIcon:节点展开时的图标。

folderCloseIcon:节点关闭时的图标。

defaultLeafIcon:叶节点的图标。

hoverRowBackground:鼠标滑过数据行时,背景色是否改变。

itemClick:单击数据行后触发的事件。事件方法包含三个参数,分别是:行的id、行的索引、行数据。

expandLayer:初始展开层数,默认只展开第1层。

columns:值为数组,数组元素为json对象。定义数据栏相关信息。

数组元素的属性:

headerText:栏的标题。

dataField:栏数据对应的字段名。

headerAlign:栏头对齐方式。

dataAlign:栏数据对齐方式。

width:栏的宽度。

handler:通过指定的方法来自定义栏数据。

folderHidden:在文件夹行隐藏单元格值。

data:组件的数据集。

三、TreeGrid的方法

show:显示填充数据后的组件对象。

expandAll:展开、关闭所有节点。该方法有一个参数,参数值为Y时表示展开,参数值为N时表示关闭。

getSelectedItem:获取当前选中的数据行,返回TreeGridItem对象。

四、TreeGridItem组件

1、组件属性

id:数据行的id。

index:数据行的索引。

data:json格式的行数据。

2、组件方法

getParent:获取父数据行。方法返回TreeGridItem对象。

getChildren:获取子数据行集。方法返回一个数组,数组元素为TreeGridItem对象。

五、组件使用范例

  1. <input type="button" value="关闭所有节点" onclick="expandAll('N')">
  2. <input type="button" value="展开所有节点" onclick="expandAll('Y')">
  3. <input type="button" value="取得当前行的数据" onclick="selectedItem()"><br>
  4. 当前选中的行:<input type="text" id="currentRow" size="110">
  5. <div id="div1"></div>
  1. <script language="javascript">
  2. var config = {
  3. id: "tg1",
  4. width: "800",
  5. renderTo: "div1",
  6. headerAlign: "left",
  7. headerHeight: "30",
  8. dataAlign: "left",
  9. indentation: "20",
  10. folderOpenIcon: "images/folderOpen.gif",
  11. folderCloseIcon: "images/folderClose.gif",
  12. defaultLeafIcon: "images/defaultLeaf.gif",
  13. hoverRowBackground: "false",
  14. folderColumnIndex: "1",
  15. itemClick: "itemClickEvent",
  16. expandLayer: 1,
  17. columns:[
  18. {headerText: "", headerAlign: "center", dataAlign: "center", width: "20", handler: "customCheckBox"},
  19. {headerText: "名称", dataField: "name", headerAlign: "center", handler: "customOrgName"},
  20. {headerText: "拼音码", dataField: "code", headerAlign: "center", dataAlign: "center", width: "100"},
  21. {headerText: "负责人", dataField: "assignee", headerAlign: "center", dataAlign: "center", width: "100"},
  22. {headerText: "查看", headerAlign: "center", dataAlign: "center", width: "50", handler: "customLook", folderHidden: true}
  23. ],
  24. data:[
  25. {name: "城区分公司", code: "CQ", assignee: "", children:[
  26. {name: "城区卡品分销中心"},
  27. {name: "先锋服务厅", children:[
  28. {name: "chlid1"},
  29. {name: "chlid2"},
  30. {name: "chlid3", children: [
  31. {name: "chlid3-1"},
  32. {name: "chlid3-2"},
  33. {name: "chlid3-3"},
  34. {name: "chlid3-4"}
  35. ]}
  36. ]},
  37. {name: "半环服务厅"}
  38. ]},
  39. {name: "清新分公司", code: "QX", assignee: "", children:[]},
  40. {name: "英德分公司", code: "YD", assignee: "", children:[]},
  41. {name: "佛冈分公司", code: "FG", assignee: "", children:[]}
  42. ]
  43. };
  44. /*
  45. 单击数据行后触发该事件
  46. id:行的id
  47. index:行的索引。
  48. data:json格式的行数据对象。
  49. */
  50. function itemClickEvent(id, index, data){
  51. jQuery("#currentRow").val(id + ", " + index + ", " + TreeGrid.json2str(data));
  52. }
  53. /*
  54. 通过指定的方法来自定义栏数据
  55. */
  56. function customCheckBox(row, col){
  57. return "<input type='checkbox'>";
  58. }
  59. function customOrgName(row, col){
  60. var name = row[col.dataField] || "";
  61. return name;
  62. }
  63. function customLook(row, col){
  64. return "<a href='' style='color:blue;'>查看</a>";
  65. }
  66. //创建一个组件对象
  67. var treeGrid = new TreeGrid(config);
  68. treeGrid.show();
  69. /*
  70. 展开、关闭所有节点。
  71. isOpen=Y表示展开,isOpen=N表示关闭
  72. */
  73. function expandAll(isOpen){
  74. treeGrid.expandAll(isOpen);
  75. }
  76. /*
  77. 取得当前选中的行,方法返回TreeGridItem对象
  78. */
  79. function selectedItem(){
  80. var treeGridItem = treeGrid.getSelectedItem();
  81. if(treeGridItem!=null){
  82. //获取数据行属性值
  83. //alert(treeGridItem.id + ", " + treeGridItem.index + ", " + treeGridItem.data.name);
  84. //获取父数据行
  85. var parent = treeGridItem.getParent();
  86. if(parent!=null){
  87. //jQuery("#currentRow").val(parent.data.name);
  88. }
  89. //获取子数据行集
  90. var children = treeGridItem.getChildren();
  91. if(children!=null && children.length>0){
  92. jQuery("#currentRow").val(children[0].data.name);
  93. }
  94. }
  95. }
  96. </script>

 

基于jQuery的TreeGrid组件详解的更多相关文章

  1. 基于jQuery的TreeGrid组件

    /** * @author 陈举民 * @version 1.0 * @link http://chenjumin.iteye.com/blog/419522 */ TreeGrid = functi ...

  2. 触碰jQuery:AJAX异步详解

    触碰jQuery:AJAX异步详解 传送门:异步编程系列目录…… 示例源码:触碰jQuery:AJAX异步详解.rar AJAX 全称 Asynchronous JavaScript and XML( ...

  3. jQuery调用AJAX异步详解[转]

    AJAX 全称 Asynchronous JavaScript and XML(异步的 JavaScript 和 XML).它并非一种新的技术,而是以下几种原有技术的结合体. 1)   使用CSS和X ...

  4. 触碰jQuery:AJAX异步详解(转)

    AJAX 全称 Asynchronous JavaScript and XML(异步的 JavaScript 和 XML).它并非一种新的技术,而是以下几种原有技术的结合体. 1)   使用CSS和X ...

  5. OpenStack各组件详解和通信流程

    一.openstack由来 openstack最早由美国国家航空航天局NASA研发的Nova和Rackspace研发的swift组成.后来以apache许可证授权,旨在为公共及私有云平台建设.open ...

  6. Tomcat系列之服务器的安装与配置以及各组件详解

    Tomcat系列之服务器的安装与配置以及各组件详解 大纲 一.前言 二.安装与配置Tomcat 三.Tomcat 目录的结构 四.Tomcat 配置文件 注,本文的测试的操作系统为CentOS 6.4 ...

  7. Tomcat负载均衡、调优核心应用进阶学习笔记(一):tomcat文件目录、页面、架构组件详解、tomcat运行方式、组件介绍、tomcat管理

    文章目录 tomcat文件目录 bin conf lib logs temp webapps work 页面 架构组件详解 tomcat运行方式 组件介绍 tomcat管理 tomcat文件目录 ➜ ...

  8. OpenStack的Swift组件详解

    一:简介     一.背景 1. Swift 最初是由 Rackspace 公司开发的高可用分布式对象存储服务(Object  Storage Service),并于 2010 年贡献给 OpenSt ...

  9. OpenStack的Trove组件详解

    一:简介     一.背景 1. 对于公有云计算平台来说,只有计算.网络与存储这三大服务往往是不太够的,在目前互联网应用百花齐放的背景下,几乎所有应用都使用到数据库,而数据库承载的往往是应用最核心的数 ...

随机推荐

  1. .Net 接连 Oracle 数据库(Winform)

    之前一直是使用Asp.Net 连接 Oracle 10g,最近想写个小程序,所以选择了 Winform.折腾半天后,才发现 Winform 与 Asp.Net 连接 Oracle 是有些许区别的. 区 ...

  2. 精美jQuery插件及源码 前端开发福利

    jQuery是一个非常不错的javascript框架,很多前端开发者喜欢的原因不仅是因为jQuery使用起来方便,更重要的是因为它的插件很多,我们可以将这些插件应用到自己的项目中去.下面这些精美的jQ ...

  3. ZigBee profile

        每个ZigBee设备都与一个特定模板相关联,可能是公共模板或私有模板.这些模板定义了设备的应用环境.设备类型以及用于设备间通信的簇.采用公共模板,可以确保不同供应商的设备在相同应用领域的互操作 ...

  4. 经典SQL语句大全 学者必看

    一.基础 .说明:创建数据库 CREATE DATABASE database-name .说明:删除数据库 drop database dbname .说明:备份sql server --- 创建 ...

  5. 使用ANT 生成Xfire 客户端端文件

    这里需要用到的JAR包 : XmlSchema-1.1.jar activation-1.1.jar commons-codec-1.3.jar commons-httpclient-3.0.jar ...

  6. 在linux下查看内核版本、gcc版本、操作系统多少位等参数

    1. 查看linux版本 cat /etc/issue Ubuntu 11.04 \n \l 2. 查看内核版本 1)cat /proc/version Linux version 2.6.38-13 ...

  7. asp.net mvc常用的数据注解和验证以及entity framework数据映射

    终于有时间整理一下asp.net mvc 和 entity framework 方面的素材了. 闲话少说,步入正题: 下面是model层的管理员信息表,也是大伙比较常用到的,看看下面的代码大伙应该不会 ...

  8. 【Qt】Qt之进程间通信(QProcess)【转】

    简述 前几节里,分享了进程通信的几种方式:Windows消息机制.Shared Memory(共享内存),本节讲解下关于进程通信的另外一种方式-QProcess. 简述 命令行参数启动 说明 实现 命 ...

  9. 优化过的redis封装类

    转http://www.cnblogs.com/jackluo/p/3410192.html <?php /** * RedisCluster 群redius操作类 * * //创建连接 * $ ...

  10. 为 WordPress 标签添加 rel="nofollow" 属性

    WordPress 标签默认并无 rel="nofollow" 属性.rel="nofollow" 属性的作用是:告诉搜索引擎,无需追踪目标页,禁止蜘蛛爬行和传 ...