Download
- Overview
- Documents
- Demos
User Rating: 4.6/5 ( 2 votes)
Your Rating:
Tbl Tree is a jQuery plugin making hierarchical tree from HTML tables.
Features
- Create Tree table from HTML table
- Comparibaly fast on big tables
- Ability to specify column to make a tree
- Compatible with jquery-ui $.widget
- Ability to save the state of the tree
- Ability to expand/collapse by level of hierarchy
Source: gagiks.github.io
1. INCLUDE CSS AND JS FILES
<link type="text/css" href="css/jquery.tbltree.css" rel="stylesheet"> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.10.1/jquery-ui.min.js"></script> <script type="text/javascript" src="./js/jquery.tbltree.js"></script>
If you want to use saveState: option, then need to include $.coocke plugin as well:
<script type="text/javascript" src="./js/jquery.cookie.js"></script>
2. HTML
Create HTML Table by adding 'row-id' and 'parent-id' attributes to "tr" tags. Attributes names can be configured by options `rowAttr` and `parrentAttr`.
<table id="table1"> <tr> <th>Title</th><th>Column 1</th><th>Column 2</th><th>Column 3</th> </tr> <tr row-id="1"> <td>Level 1</td><td class="data">2</td><td class="data">2</td><td class="data">2</td> </tr> <tr row-id="1.1" parent-id="1" > <td>Level 1.1</td><td class="data">2</td><td class="data">2</td><td class="data">2</td> </tr> <tr row-id="2"> <td>Level 2</td><td class="data">2</td><td class="data">2</td><td class="data">2</td> </tr> <tr row-id="2.1" parent-id="2" > <td>Level 2.1</td><td class="data">2</td><td class="data">2</td><td class="data">2</td> </tr> </table>
3. JAVASCRIPT
$(function() { // initialize with default options $( "#table1" ).tbltree(); });
4. OPTIONS
Parameter | Type | Default | Description |
---|---|---|---|
rowAttr: | String | 'row-id' | Attribute name which is set for<tr> tags and identifies the ID of the row. |
parentAttr: | String | 'parent-id' |
Attribute name which is set for<tr> tags and identifies the ID of parent row. Note: this attribute must be skipped for root nodes. |
initState: | String | 'collapsed' | |
treeColumn: | String | 0 | Identifies the column of the table we want to make a tree. |
saveState: | Boolean | false | If true tree state will be save after page is re-loaded |
saveStateName: | String | 'tbltree-state' | Name of cookie to save state |
levelPicker: | String | '' | jQuery selectot of an element where we cant to render level pickers. |
expanderTemplate: | String |
<span class="tbltree-expander"></span> |
HTML Element when you click on that will be collapse/expand branches |
levelPickerTemplate: | String |
<div class="tbltree-level-pickers"> <span id="0" class="tbltree-level-item"> [1] </span> <span id="1" class="tbltree-level-item"> [2] </span> <span id="2" class="tbltree-level-item"> [3] </span> <span id="3" class="tbltree-level-item"> [4] </span> </div> |
HTML template of level pickers, each element having classtbltree-level-itemmust have numberic id, identifying the level we want to show. |
indentTemplate: | String |
<span class="tbltree-indent"></span> |
HTML Element that will be placed as padding, depending on the depth of nesting node |
expanderExpandedClass: | String | 'tbltree-expander-expanded' | Class using for expander element when it expanded |
expanderCollapsedClass: | String | 'tbltree-expander-collapsed' | Class using for expander element when it collapsed |
5. METHODS
Method | Description | Example |
---|---|---|
showLevel | Show level of tree we want | $('#table1').tbltree('showLevel', 2) |
expand | Expand row with ID | $('#table1').tbltree('expand', '1.1') |
collapse | Collapse row with ID | $('#table1').tbltree('collapse', '1.1') |
isCollapsed | Returns true if row is collpased | $('#table1').tbltree('isCollapsed', '1.1') |
isExpanded | Returns true if row is expanded | $('#table1').tbltree('isExpanded', '1.1') |