一、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对象。

五、组件使用范例

Html代码  
  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>
Js代码  
  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>

  • TreeGrid.rar (25.4 KB)
  • 下载次数: 2107
  • TreeGrid_1.1.rar (2.8 KB)
  • 下载次数: 559
  • TreeGrid_支持jquery1.6.2以上版本.rar (33 KB)
  • 下载次数: 867
  • 查看图片附件

JQuery TreeGrid 组件详解相关推荐

  1. Android笔记——四大组件详解与总结

    android四大组件分别为activity.service.content provider.broadcast receiver. -------------------------------- ...

  2. jQuery数组处理详解(含实例演示)

    jQuery的数组处理,便捷,功能齐全. 最近的项目中用到的比较多,深感实用,一步到位的封装了很多原生js数组不能企及的功能. 最近时间紧迫,今天抽了些时间回过头来看 jQuery中文文档 中对数组的 ...

  3. ReactNative ViewPageAndroid组件详解

    源码传送门 在我们开发Android的时候,ViewPage这个控件的使用频率还是很高的,最简单的就是制作引导页,应用程序的主界面等,在ReactNative开发中实现该功能的组件是ViewPageA ...

  4. [zz]jQuery.extend 函数详解

    JQuery的extend扩展方法:       Jquery的扩展方法extend是我们在写插件的过程中常用的方法,该方法有一些重载原型,在此,我们一起去了解了解.       一.Jquery的扩 ...

  5. Android Lifecycle 生命周期组件详解

    转载请标明出处:https://blog.csdn.net/zhaoyanjun6/article/details/99695779 本文出自[赵彦军的博客] 一.Lifecycle简介 为什么要引进 ...

  6. Cinder 组件详解 - 每天5分钟玩转 OpenStack(47)

    Cinder 组件详解 - 每天5分钟玩转 OpenStack(47) 本节我们将详细讲解 Cinder 的各个子服务. cinder-api cinder-api 是整个 Cinder 组件的门户, ...

  7. Android应用开发—Intent组件详解

    转载自:Android中Intent组件详解 Intent是不同组件之间相互通讯的纽带,封装了不同组件之间通讯的条件. Intent本身是定义为一个类别(Class),一个Intent对象表达一个目的 ...

  8. jQuery: 插件开发模式详解 $.extend(), $.fn, $.widget()

    原文:http://www.codeceo.com/article/jquery-plugin-develop.html 软件开发过程中是需要一定的设计模式来指导开发的,有了模式,我们就能更好地组织我 ...

  9. ue4移动到一定距离_UE4移动组件详解(一)——移动框架与实现原理

    原文链接(转载请标明):UE4移动组件详解(一)--移动框架与实现原理_Jerish的博客-CSDN博客​blog.csdn.net 前言 关于UE4的移动组件,我写了一篇非常详细的分析文档.由于篇幅 ...

最新文章

  1. 1.java注释的类型_HappyBKs教你写Java注解(1)——注解的分类、运行机制、作用域及概念汇总...
  2. CYQ.Data 轻量数据层之路 使用篇-辅助工具枚举生成器 视频 C (二十)
  3. 【摘录】UNITY优化-有关骨骼数量的上限问题
  4. ASP.NET中TextBox控件的AutoCompleteType属性(不保存历史输入记录)
  5. 随机样本一致性:一种用于图像分析和自动制图的模型拟合模型(3)--(P3P的迭代解)
  6. 车辆行人检测数据集_澎思科技行人再识别技术取得突破,刷新三大数据集世界记录...
  7. SGPN: Similarity Group Proposal Network for 3D Point Cloud Instance Segmentation
  8. DSP sawtooth锯齿波与square方波matlab产生(M2.2)
  9. GoDiagram可以画节点和连线的WinForms
  10. 模糊综合评价-----层次分析法AHP
  11. openflow pox操作命令
  12. 华为路由器时间同步_系统时间同步的方式
  13. class6_os_demo2
  14. Ubuntu 20.04 多GPU,涡轮GPU 风扇转速手动调节
  15. 大地坐标转换极坐标(球坐标)
  16. 如何将Excel多行单元格文字合并到一个单元格中
  17. 惠普1000-1408TX拆机换硅脂,清灰
  18. c语言六级,2017年英语六级写作谚语(C开头)
  19. 深入Vue底层,手写一个vuex
  20. 查看Windows凭据和普通凭据的密码(查看Windows中存储的密码)——mimikatz

热门文章

  1. 2019丘成桐中学科学奖计算机,2019年丘成桐中学科学奖总决赛获奖名单
  2. Fluent Mybatis 牛逼!
  3. 红外真空离心浓缩仪ZLNS-II
  4. 基于边缘检测和模型拟合检测车道线
  5. 沈阳市委书记邀请深兰科技赴沈建厂,助力东北振兴
  6. 基于Docker的交互式人脸识别应用
  7. 2017年中国软件业务收入报告新鲜出炉,华为以2178亿元连续16年蝉联榜首
  8. win8/win10微信QQ邮箱可登陆,浏览器显示无网络连接
  9. Electron应用-云桌面客户端
  10. 机器学习实战案例—验证码(CAPTCHA)识别基于Logistic