Often there is a need to show a hierarchically structured data.
Our dhtmlxTree (DHTML extensions Tree) lets you do this in an easy and most comfortable way - in any browser! This JavaScript Tree Menu component allows creating user-friendly navigation bar for a commercial application or a web site. Menu items are organized into compact, hierarchical tree structure so users can find information they need easily.
Having such feature, as dynamical loading of items from XML stream allows dhtmlxTree to handle large amounts of data. Drag-and-drop makes it possible to drag items not just within one tree, but between different trees. Try by yourself now:

 
Drag & drop items within the trees as well as between trees
Double-click on folder label or click on [+] plus to expand subitems.


Rich client-side Javascript API gives an opportunity to change tree styles (folder images, fonts, indents, and colors) and manage any part or activity. Our DHTML tree works perfectly in all main Web-browsers for Windows, Mac OS X, Linux or Unix so you don't have to care about the browser compatibility.
dhtmlxTree has built-in checkboxes providing a handy tool for any kind of navigation system where selection lists are required.

What's new in version 1.1 (June 22, 2005):

  • possibility to use tree without icons - EnableTreeImages method
  • autoscrolling while drag-and-drop
  • fixed bug in drag-and-drop on pages with scrollbars
  • added another drag-n-drop behavior – drop-as-sibling *
  • drag-n-drop between frames/iframes *
  • OnDrop event handler *
  • fixed some visual glitches
  • focus item with script - focusItem method *
  • advanced xml processing for loading big trees - tested with 50000 items *
  • saving/Restoring tree state in cookie *
  • possibility to create XML based on updated tree structure *
  • search functionality *
  • possibility to change nodes order *
  • multi-line tree items *
  • context menu - integration with dhtmlXMenu *

  • * - professional edition

    Supported Browsers:

  • IE 5.x and above
  • Mac OS X Safari
  • Mozilla 1.4 and above
  • FireFox 0.9 and above
  • Opera (Xml support depends on browser version)
  • Features:

  • Multibrowser/Multiplatform support
  • Full controll with JavaScript API
  • Dynamic loading (can load data on demand)
  • Dynamic rendering *
  • XML support (initializes from XML stream)
  • drag-&-drop (within one tree, between trees, between frames *)
  • checkboxes (two/three states)
  • context menu * (integration with dhtmlxMenu)
  • tooltips
  • multi-line tree items *
  • customizable icons (with javascript or xml)
  • user data for nodes
  • high stability
  • .NET custom server control
  • JSP custom tag for Java - pending
  • Macromedia Cold Fusion support

  • * - professional edition

    Editions

  • Standard - available for free download (for non-commercial use).
  • Professional - contains additional features (with examples) which are not present at standard edition. Avalable for users of Commercial and Enterprice licenses.
  • Licensing

  • Open Source - GPL (standard edition only)
  • Commercial License (standard and professional editions): in order to use any edition of dhtmlxTree in a commercial non-OpenSource project, get all features available in professional edition or to have support you can purchase a Commercial License ($99) - please contact us
  • Download:

  • Full package (v.1.1 standard)
  • Documentation only
  • Examples:

  • Initialize object
  • Add/Delete items
  • Attached events
  • Collapse/Expand branch
  • Change item text/images
  • Checkboxes
  • Change design
  • Autoloading from xml
  • Drag and Drop
  • Documentation:

  • API Functions and Documentation
    (including CF custom tag doc)

  • Download latest version source code

    Code Sample

    <link rel="STYLESHEET" type="text/css" href="jTreeX.css"> <script src="dhtmlXCommon.js"></script> <script src="dhtmlXTree.js"></script> <script> var tree1 = null; function doOnLoad(){ tree1=new dhtmlXTreeObject('treebox1',"100%","100%",0); tree1.setImagePath("imgs/"); tree1.enableDragAndDrop(true); tree1.loadXML("tree.xml") } </script> <body onload="doOnLoad()"> <div id="treebox1" style=" width:250; height:250; background-color:#f5f5f5; border :1px solid Silver; overflow:auto;"> </div>

    See also our Java tree applet - jTree.