Usage

1 GitHub 地址 https://github.com/ludo/jquery-treetable/

2 API 地址 http://ludo.cubicphuse.nl/jquery-treetable/

3 jQuery 官网链接 http://plugins.jquery.com/treetable/

引入代码:

注意事项:

1  在表格中展示树,每个tr 须拥有 data-tt-id 属性,且属性值必须唯一

When you pasted the above code and adjusted it to reflect your situation, you enabled the possibility of displaying a tree in your table. To make the tree actually display as a tree you have to add data-tt-id and data-tt-parent-id attributes to your table rows (tr).

2  每个子节点必须有一个 data-tt-parent-id  属性,data-tt-parent-id 的值必须等于 父节点的data-tt-id 值

3  表格中行的展示必须按照树的展开顺序来,即传递过来的List必须是有序的,且与树展开后的顺序一致

Please note that the plugin expects the rows in the HTML table to be in the same order in which they should be displayed in the tree. For example, suppose you have three nodes: A, B (child of node A) and C (child of node B). If you create rows for these nodes in your HTML table in the following order A - C - B, then the tree will not display correctly. You have to make sure that the rows are in the order A - B - C.

表格HTML代码示例:

Parent
Child

Configuration

Settings

Setting

Type

Default

Description

branchAttr

string

"ttBranch"

可选,强制打开节点的展开图标,允许将一个没有儿子节点的节点定义为分支节点,在HTML里面以data-tt-branch 属性形式展现.

clickableNodeNames

bool

false

默认false,点击展开图标打开子节点。设置为true时,点击节点名称也打开子节点.

column

int

0

表中要展示为树的列数。

columnElType

string

"td"

展示为树的单元格的类别(th,td or both).

expandable

bool

false

树是否可以展开,可以展开的树包含展开/折叠按钮。

expanderTemplate

string

展开按钮的html 片段。

indent

int

19

每个分支缩进的像素数。

indenterTemplate

string

折叠按钮的HTML片段

initialState

string

"collapsed"

初始状态,可选值: "expanded" or "collapsed".

nodeIdAttr

string

"ttId"

用来识别节点的数据属性的名称。在HTML里面以 data-tt-id  体现。

parentIdAttr

string

"ttParentId"

用了设置父节点的数据属性的名称. 在HTML里面以data-tt-parent-id 体现。

stringCollapse

string

"Collapse"

折叠按钮的title,国际化使用。

stringExpand

string

"Expand"

展开按钮的title,国际化使用。

Events

Setting

Type

Default

Description

onInitialized

function

null

树初始化完毕后的回调函数.

onNodeCollapse

function

null

节点折叠时的回调函数.

onNodeExpand

function

null

节点展开时的回调函数.

onNodeInitialized

function

null

节点初始化完毕后的回调函数

Public API

Plugin Function

treetable()

treetable() 方法可以传入下面的参数:

options(optional) : 一个描述配置的JS对象。

force(optional):参数为true时强制重新初始化树。

Additional Functions

对树操作的一些方法,附加方法必须通过treetable()方法调用。Eg:折叠id=42的节点, $("#tree").treetable("collapseNode", "42").

collapseAll():折叠所有节点

collapseNode(id):Collapse a single node, identified by id.

expandAll():Expand all nodes at once.

expandNode(id):Expand a single node, identified by id.

loadBranch(node, rows):向树中插入新行(

s), 传入参数 node 为父节点,rows为待插入的行. 如果父节点node为null ,新行被作为父节点插入

move(nodeId, destinationId):Move node nodeId to new parent withdestinationId.

node(id):Select a node from the tree. Returns a TreeTable.Node object.

removeNode(id):从树中移除某个节点及其所有子节点

reveal(id):展示树中的某个节点

sortBranch(node)

sortBranch(node, columnOrFunction):根据字母顺序对node节点的所有子节点排序。Defaults to sorting on the values in the configured tree column (see settings). Pass an optional column number or sorting function as the second argument columnOrFunction. See the tests for examples of custom sorting functions. Does not recursively sort children of children.

unloadBranch(node):Remove nodes/rows (HTML

s) from the tree, with parent node. Note that the parent (node) will not be removed.

Classes

HTML tr class:

expanded:标识节点被展开

collapsed:标识节点被折叠

branch:分支节点,有子节点或者拥有 branchAttr 属性

leaf:叶子节点,无子节点

Examples

Basic Static Tree :

$("#example-basic-static").treetable();

Basic Expandable Tree

$("#example-basic-expandable").treetable({ expandable: true });

Complex Tree With Drag and Drop

$("#example-advanced").treetable({ expandable: true }); // Highlight selected row $("#example-advanced tbody").on("mousedown", "tr", function() { $(".selected").not(this).removeClass("selected"); $(this).toggleClass("selected"); }); // Drag & Drop Example Code $("#example-advanced .file, #example-advanced .folder").draggable({ helper: "clone", opacity: .75, refreshPositions: true, revert: "invalid", revertDuration: 300, scroll: true }); $("#example-advanced .folder").each(function() { $(this).parents("#example-advanced tr").droppable({ accept: ".file, .folder", drop: function(e, ui) { var droppedEl = ui.draggable.parents("tr"); $("#example-advanced").treetable("move", droppedEl.data("ttId"), $(this).data("ttId")); }, hoverClass: "accept", over: function(e, ui) { var droppedEl = ui.draggable.parents("tr"); if(this != droppedEl[0] && !$(this).is(".expanded")) { $("#example-advanced").treetable("expandNode", $(this).data("ttId")); } } }); });

异步加载:

$("#treetable").treetable({ expandable: true,// 展示 initialState :"expanded",//默认打开所有节点 stringCollapse:'关闭', stringExpand:'展开', onNodeExpand: function() {// 分支展开后的回调函数 var node = this; //判断当前节点是否已经拥有子节点 var childSize = $("#treetable").find("[data-tt-parent-id='" + node.id + "']").length; if (childSize > 0) { return; } var data = "pageId=" + node.id; // Render loader/spinner while loading 加载时渲染 $.ajax({ loading : false, sync: false,// Must be false, otherwise loadBranch happens after showChildren? url : context + "/document/loadChild.json", data: data, success:function(result) { if(0 == result.code ){ if(!com.isNull(result.body)){ if(0 == eval(result.body['chilPages']).length){//不存在子节点 var $tr = $("#treetable").find("[data-tt-id='" + node.id + "']"); $tr.attr("data-tt-branch","false");// data-tt-branch 标记当前节点是否是分支节点,在树被初始化的时候生效 $tr.find("span.indenter").html("");// 移除展开图标 return; } var rows = this.getnereateHtml(result.body['chilPages']); $("#treetable").treetable("loadBranch", node, rows);// 插入子节点 $("#treetable").treetable("expandNode", node.id);// 展开子节点 } }else{ alert(result.tip); } } }); } });

Using treetable with PersistJS

https://github.com/jughead/jquery-treetable-ajax-persist/blob/master/example/index.html

$("#treetable").agikiTreeTable({// treetable & persistJs persist: true, // 使用客户端缓存 /* * 客户端缓存文件名称:采用正则表达式:/^[a-z][a-z0-9_ -]+$/i 进行过滤, * 名称错误时直接throw new Error("Invalid name"); */ persistStoreName: "docFiles", // 其他属性同treetable });

treetable怎么带参数_jQuery.treetable使用及异步加载相关推荐

  1. treetable怎么带参数_VUE treeTable 自定义方法怎么传递

    \#\#\# 问题描述早期element版本没有treetable vueadmin中有一种treetable的实现方法, 其中有说可以传递自定义解析数据的方法,但是我通过prop传递方法一直报错 \ ...

  2. bootstrap 树形表格渲染慢_layUI之树状表格异步加载组件treetableAsync.js(基于treetable.js)...

    概述 后台框架中使用树状表格是非常常用的操作,layUI本身并没有这种组件. 第三方的treetable.js做到了完美的实现,但是不能实现在双击时异步加载数据,本文就是站在了巨人的肩膀上实现的异步加 ...

  3. jQuery.treetable使用及异步加载

    Usage 1 GitHub 地址 https://github.com/ludo/jquery-treetable/ 2 API 地址 http://ludo.cubicphuse.nl/jquer ...

  4. JQuery Datatables 动态配置参数异步加载数据

    背景需求 在前端动态设置datatables需要传递到后端的查询参数,异步加载返回的数据.点击这里进入datatables中文网异步加载数据说明 直接上代码 var table; var url = ...

  5. Windows自带光驱将多个镜像文件加载到同一个光驱下

    Windows自带光驱将多个镜像文件加载到同一个光驱下@TOC 问题描述: 装matlab或者其他专业软件时,会遇到将一个dvd1弹出,插入dvd2的文件. *解决方法: 使用2345好压或别的CD驱 ...

  6. 动态参数 名称空间 作用域 作用域链 加载顺序 函数的嵌套 global nonlocal 等的用法总结...

    03,动态参数 *args,**kwargs # 用户传入到函数中的实参数量不定时,或者是为了以后拓展,# 此时要用到动态参数*args,**kwargs(万能参数.)# *args接收的是所有的位置 ...

  7. linux insmod命令参数及用法详解--linux加载模块命令

    insmod(install module) 功能说明:载入模块 install loadable kernel module 语法:insmod [-fkmpsvxX][-o <模块名称> ...

  8. Android启动系统自带裁剪功能报错提示——无法加载此图片(已解决)

    我们在用系统自带的裁剪功能去裁剪图片的时候经常会报错--无法加载此图片 往往这类报错出现在拍完照之后打开裁剪功能然后就出错了 原因就是在于没有访问的一个权限,需要在启动之前设置权限 通常是创建一个In ...

  9. PrimeNG TreeTable异步加载子树

    1. PrimeNG官网:https://www.primefaces.org/primeng/#/treetable 2. 引入TreeTableModule到自己的module.ts中 3. 页面 ...

  10. delphi 异步 调用 带参数_如何在 Spring 异步调用中传递上下文

    什么是异步调用? 异步调用是相对于同步调用而言的,同步调用是指程序按预定顺序一步步执行,每一步必须等到上一步执行完后才能执行,异步调用则无需等待上一步程序执行完即可执行.异步调用指,在程序在执行时,无 ...

最新文章

  1. websocket 安全_将Websocket与Spring Framework和Vuejs结合使用
  2. Python语言学习之双下划线那些事:python和双下划线使用方法之详细攻略
  3. matlab计算频域动态性能指标,基于MATLAB自动控制系统时域频域分析与仿真.doc
  4. Mac安装MATLAB 2017b
  5. 消费者rebalance机制分析
  6. 2.9 logistic 回归中的梯度下降法
  7. 遍历C#属性的通用方法
  8. sqlite 查看数据库表和字段
  9. SpringBean生命周期详解
  10. php gd库干什么的,php gd库的基础知识
  11. Cox比例风险模型与R实现
  12. 【文化课每周学习记录】2019.3.17——2019.3.23
  13. 终止代码:DRIVER_IRQL_NOT_LESS_OR_EQUAL 失败的操作:CH341S64.SYS
  14. 软件测试项目反思,软件测试之项目线上问题总结与反思
  15. php手册3.1,thinkphp3.1手册下载|
  16. APS究竟是什么系统呢?看完文章你就知道了
  17. OracleDataAdapter.Fill()处于无限等待中 【已解决】
  18. keras 入门教程(一)
  19. 红米手机4android os是木马怎么清除,红米Note4 的LineageOS14.1刷机包 安卓7.1.1原生风格 本地化 20180203更新...
  20. 5 MATLAB参数估计与假设检验-参数估计

热门文章

  1. html5在线拍照 源码,html5拍照功能实现代码(htm5上传文件)
  2. 「斑愿称为最肝」小狮子前端知识食谱 / 生日之际,好运分享 / 秋招和你手摸手入大厂【史上最全指北】 | CSDN技术征文
  3. 计算机快速换界面,老板来了?这些好用的Windows快捷键让你一秒切换操作界面!-页面设置快捷键...
  4. Head First Java习题练习(二)
  5. 哪种软件测试硬盘速度,哪种工具最适合硬盘,SSD,U盘,存储卡速度性能测试?...
  6. html广告加图片,网站广告图片右下角加上“广告”水印标识代码
  7. 儿童车内滞留监测控制系统的设计
  8. c语言教材1-8章参考答案,C语言课后习题参考答案(第1-8章)
  9. 物联网概论(IoT)_Chp5 物联网通信 Zigbee/蓝牙/UWB/WLAN/WiMax
  10. 浩辰3D设计软件中如何进行弹簧设计?