treeTable v 1.4.2

简介

treeTable是跨浏览器、性能很高的jquery的树表组件,它使用非常简单,只需要引用jquery库和一个js文件,接口也很简单。

优点

  1. 兼容主流浏览器: 支持IE6和IE6+, Firefox, chrome, Opera, Safari
  2. 接口简洁: 在普通表格的基础上增加父子关系的自定义标签就可以
  3. 组件性能高: 内部实现了只绑定了table的事件、使用了css sprite合并图片等
  4. 提供两种风格: 通过参数来设置风格

效果图

接口

配置参数

    • theme: string {主题,有两个选项:default、vsStyle. 默认:default}
    • expandLevel: int {树表的展开层次. 默认:1}
    • column: int {可控制列的序号. 默认:0,即第一列}
    • onSelect: function {拥有controller自定义属性的元素的点击事件,return false则中止展开. 默认值:
      function($treeTable, id) {       //$treeTable 当前树表的jquery对象.       //id 当前行的id            //返回false,则直接退出,不会激发后面的beforeExpand和子节点的展开       return true; }
    • beforeExpand: {展开子节点前触发的事件, 默认值:
function($treeTable, id) {       //$treeTable 当前树表的jquery对象.       //id 当前行的id }

属性说明

  • id: string 行的id
  • pId: string 父行的id
  • controller: bool 指定某一个元素是否可以控制行的展开
  • hasChild: bool 指定某一个tr元素是否有孩子(动态加载需用到)
  • isFirstOne: bool 指定某一个tr元素是否是第一个孩子(自动生成属性,只读)
  • isLastOne: bool 指定某一个tr元素是否是最后一个孩子(自动生成属性,只读)
  • prevId: string 前一个兄弟节点的id(自动生成属性,只读)
  • depth: string 当前行的深度(自动生成属性,只读)

使用方式

$("#元素id").treeTable({}) 如:

引用的文件

<script src="/script/jquery.js" type="text/javascript"> </script> <script src="/script/treeTable/jquery.treeTable.js" type="text/javascript"> </script>

js代码

<script type="text/javascript">
        $(function(){
            var option = {
                theme:‘vsStyle‘,
                expandLevel : 2,
                beforeExpand : function($treeTable, id) {
                    //判断id是否已经有了孩子节点,如果有了就不再加载,这样就可以起到缓存的作用
                    if ($(‘.‘ + id, $treeTable).length) { return; }
                    //这里的html可以是ajax请求
                    var html = ‘<tr id="8" pId="6"><td>5.1</td><td>可以是ajax请求来的内容</td></tr>‘
                             + ‘<tr id="9" pId="6"><td>5.2</td><td>动态的内容</td></tr>‘;

$treeTable.addChilds(html);
                },
                onSelect : function($treeTable, id) {
                    window.console && console.log(‘onSelect:‘ + id);
                    
                }

};
            $(‘#treeTable1‘).treeTable(option);
        });
    </script>

html结构

<table id="treeTable1" style="width: 100%">
                <tr>
                    <td style="width: 200px;">
                        标题</td>
                    <td>
                        内容</td>
                </tr>
                <tr id="1">
                    <td>
                        <span controller="true">1</span></td>
                    <td>
                        内容</td>
                </tr>
                <tr id="2" pid="1">
                    <td>
                        <span controller="true">2</span></td>
                    <td>
                        内容</td>
                </tr>
                <tr id="3" pid="2">
                    <td>
                        3</td>
                    <td>
                        内容</td>
                </tr>
                <tr id="4" pid="2">
                    <td>
                        4</td>
                    <td>
                        内容</td>
                </tr>
                <tr id="5" pid="4">
                    <td>
                        4.1</td>
                    <td>
                        内容</td>
                </tr>
                <tr id="6" pid="1" haschild="true">
                    <td>
                        5</td>
                    <td>
                        注意这个节点是动态加载的</td>
                </tr>
                <tr id="7">
                    <td>
                        8</td>
                    <td>
                        内容</td>
                </tr>
            </table>

关于

作者: benzhan(詹潮江)

版本变更

1.0版本:创建基本功能。(2011-05-04)

1.1版本:(2011-05-08)

这个版本提高了性能,做了以下改进:   

* 1、使用了Css Sprite Tools 合并了分散的图标 * 2、使用了.id的方式来代替原来[pId=id],这样选择孩子效率更高 * 3、把css剥离出来,增加动态添加css,每次家在前判断是否添加过   关于第二点,非常感谢onli同学的提醒。但我并没有直接修改我的接口,直接除去pId,而是在第一次遍历时将pId作为class名添加到节点中。这样有两个好处: (1)接口可读性会比较好,pId比class更容易理解。 (2)第二点,如果直接使用class,那节点本来就有样式,这样获取到的className还要去分解空格得到pId,挺麻烦的。


1.3版本:(2011-05-09)

这个版本扩展了事件,做了以下改进:   * 1、增加onSelect事件,onSelect: function($treeTable, id){} * 2、增加beforeExpand事件,beforeExpand : function($treeTable, id){}   动态加载节点就靠beforeExpand 事件了。

1.4.2版本:(2011-09-03)

这个版本修复了bug,做了以下改进: * 1、修复了多个tableTree不在同个页面的bug,并且可以让不同的tableTree使用不同的主题。* 2、增加了controller的自定义标签来控制可点击的区域。

转(http://www.cnblogs.com/hongyuniu/archive/2012/07/04/2575929.html)

时间: 2024-10-07 19:56:19

treeTable v 1.4.2的相关文章

jQuery treeTable v 1.4.2

angularJs版本: 如图所示即为treeTable的效果,三个红色框每个微一级 外科>骨科>骨科一病区 html: <table class="table table-bordered" id="dept_dict_table"> <tbody> <tr ng-repeat="deptDict in deptDicts" id="{{deptDict.deptId}}" pId=

treeTable实现排序

/* * * TreeTable 0.1 - Client-side TreeTable Viewer! * @requires jQuery v1.3 * * Dual licensed under the MIT and GPL licenses: * http://www.opensource.org/licenses/mit-license.php * http://www.gnu.org/licenses/gpl.html * * */ (function($){ $.extend({

3. System V IPC

System V IPC包含三种类型的IPC:System V消息队列.System V信号量.System V共享内存区 1. key_t键和ftok函数 三种类型的System V IPC使用key_t值作为名字.头文件<sys/types.h>定义key_t为一个至少32位的整数.函数ftok把一个已存在的路径名和一个整数标识符转换成一个key_t值,称为IPC键 #include <sys/ipc.h> key_t ftok(const char *pathname, in

Price Control V or S in Material Type (Price control in material master )

When is it useful to use the price control V or S in Material Master?  Do I have to follow the SAP standard setting in the material type for the following material types: - ROH (Raw materials) -> moving average price - HALB (Semifinished products) ->

11g v$wait_chains 与 hanganalyze

11g之后,通过v$wait_chains视图诊断数据库hang和Contention 11g之前,通常我们数据库hang住了之后,我们会对数据库做hang analyze来进行分析,在11g之后,我们可以通过一个新的视图v$wait_chains来诊断数据库hang和contention.在11gR1这个版本里面,Oracle通过diag进程实现了一个功能,每隔3秒做一次本地的hang analyze,每隔10秒做一次global的hang analyze.而这些信息会存放在内存里面,Orac

Hyper - V (四)

安装虚拟机 新建虚拟机 为新建的虚拟机起名,默认保存路径为前面设置的默认路径 指定虚拟机内存大小 指定虚拟机网卡连接到外部网络还是内部网络(或专用网络) 创建虚拟硬盘,指定硬盘存储路径及硬盘大小 选择安装文件的引导路径,支持光盘安装,ISO安装等方式. 这里我们选择通过光驱引导的方式来安装系统 完成虚拟机设置. 右键点击新建的虚拟机,设置可以更改虚拟机的配置选项. 将ISO文件加载到虚拟机中,即可以实现光盘引导功能. 启动虚拟机-- 安装系统 Hyper - V (四),布布扣,bubuko.c

大v用户数据统计分析

1,统计数据的基本情况,包括微博总数,用户总数,最活跃和最不活跃的用户id #!/bin/sh source_dir=/home/minelab/data/DATA source_file_name=userinfo_00_au_1_out source_file=$source_dir/$source_file_name #source_file=test.src out_dir=/home/minelab/liweibo/daV out_file_name=basic_satic.txt o

雪球平台——5家医疗器械公司v.1.0

雪球平台--5家医疗器械公司v.1.0   负责人:李悦 合伙人:乔天娇.王丹 签约员工:乌力吉.许俊平     摘要: 本小组针对雪球平台5家关于医疗器械的公司分析报告,并对产业进行分析研究,我们要判断医疗器械行业的前景和公司实力是否匹配,来决定我们投资就业的研究价值.   进度看板 ü 李悦    ---   收集整理5家以上关于医疗器械的上市公司 ü 乔天娇 ---   整理资料,列出医疗器械公司的清单 ü 王丹   ---   5家公司的行业前景 ü 乌力吉  ---   5家公司的实力

oracle之 v$sql_monitor 监视正在运行的SQL语句的统计信息

11g中引入了新的动态性能视图V$SQL_MONITOR,该视图用以显示Oracle监视的SQL语句信息.SQL监视会对那些并行执行或者消耗5秒以上cpu时间或I/O时间的SQL语句自动启动,同时在V$SQL_MONITOR视图中产生一条记录.当SQL语句正在执行,V$SQL_MONITOR视图中的统计信息将被实时刷新,频率为每秒1次.SQL语句执行完成后,监视信息将不会被立即删除,Oracle会保证相关记录保存一分钟(由参数_sqlmon_recycle_time所控制,默认为60s),最终这