Dynamic Tree Table Plugin With jQuery - QiangTableTree
File Size: | 45.1 KB |
---|---|
Views Total: | 11211 |
Last Update: | |
Publish Date: | |
Official Website: | Go to website |
License: | MIT |

QiangTableTree is a jQuery plugin which helps you render a configurable, collapsible tree table from dynamic data sets you define in the JavaScript.
How to use it:
1. Include the required JavaScript and Stylesheet on the webpage.
<link href="jquery.qtt.min.css" rel="stylesheet"> <script src="//code.jquery.com/jquery.min.js"></script> <script src="jquery.qtt.min.js"></script>
2. Include a theme CSS of your choice on the webpage.
<link href="skin/default.css" rel="stylesheet"> <!-- OR --> <link href="skin/blue.css" rel="stylesheet"> <!-- OR --> <link href="skin/YOUR_CUSTOM.css" rel="stylesheet">
3. Create the html for the tree table.
<div id="qiang-table-tree" class="qiang-table-tree"> <!--start of QTTHeader--> <div class="QTTHeader"> <div class="treeHeaderBox"> <span class="tLabel">Country</span> <ul class="tValue"> </ul> </div> </div> <!--end of QTTHeader--> <!--start of QTTContainer--> <div class="QTTContainer"> </div> <!--end of QTTContainer--> </div>
4. Define your own data in the JavaScript.
var treeData = { name:'Table Name', value:{}, children:[ { name:'Data A', value:{}, children:[] }, { name:'Data B', value:{}, children:[] }, { name:'Data C', value:{}, children:[] } ] };
5. Initialize the tree table and done.
var instance = window.QTT.qiangTableTree({ TreeBox: $('#qiang-table-tree') });
6. More plugin options with default values.
var instance = window.QTT.qiangTableTree({ createNodeIconHTML: function( nodeObj ){ return ''; }, createNodeNameHTML: function( nodeObj ){ return nodeObj.name ; }, createNodeBarHTML: function( nodeObj ){ return '' ; }, createNodeValueHTML: function( nodeObj ){ return '' ; }, findNodeContent: function( nodeObj , keyword ){ return _findNodeContent( nodeObj , keyword ); } });
7. API methods.
// get node by id instance.getNodeByID( nodeID ); // get dom node by id instance.getDomNodeByID( nodeID ); // shrink all nodes instance.shrinkAllNode(); // expand all nodes instance.expandAllNode(); // expand a node you specify var nodeID = 3 ; instance.expandToNode( nodeID ); var nodeArray = [ 3 , 10 , 12 ] ; instance.expandToNode( nodeArray ); // select a node var nodeID = 3 ; instance.selectNode( nodeID ); var nodeArray = [ 3 , 10 , 12 ] ; instance.selectNode( nodeArray ); // cancel selected node var nodeID = 3 ; instance.cancelSelectNode( nodeID ); var nodeArray = [ 3 , 10 , 12 ] ; instance.cancelSelectNode( nodeArray ); // cancel all selected nodes instance.cancelAllSelectNode(); // update the tree instance.updateTree( treeData ); // get tree data instance.getTreeData(); // add nodes instance.addNode( parentNodeID , newNodeObj ); // edit a node instance.newNodeObj( nodeID , editedNodeObj ); // delete a node instance.deleteNode( nodeID ); // search a node var keyword = 'Football' ; var resultArray = instance.findNode( keyword ); // Highlight the result of find instance.highlightNode( resultArray ); // Expand to the tree nodes of find keyword instance.expandToNode( resultArray ); // search node by name var keyword = 'BasketBall' ; var resultArray = instance.findNodeByName( keyword ); // search node by value var value = 1982 ; var resultArray = instance.findNodeByValue( value ); // highlight nodes var nodeIDArray = [ 1 , 3 , 12] ; instance.highlightNode( nodeIDArray ); // get node id by dom object instance.getNodeIdByDomObj();
This awesome jQuery plugin is developed by ilinkit. For more Advanced Usages, please check the demo page or visit the official website.