Click here to Skip to main content
15,860,844 members
Articles / Web Development / HTML
Article

Tree View

Rate me:
Please Sign up or sign in to vote.
4.22/5 (22 votes)
16 Mar 20051 min read 184.3K   7.2K   43   30
Tree View builds tree browsers for your web pages.

Sample Image - screenshot.gif

Introduction

Tree View builds tree browsers for your web pages. It was inspired by D. D. de Kerf who created Easy DHTML treeview.

However, it was not practical for creating complex dynamic trees. So I took his ideas and wrote a JavaScript that uses DOM to build the hierarchical document he created with static HTML.

To build the tree is very straightforward:

  1. You include the treeview.js file into your HTML.
    HTML
    <script language="javascript" src="scripts/tree_view.js"></script>
  2. Hook into the event that calls a method when the page is loaded:
    HTML
    <body onLoad="CreateProjectExplorer()">
  3. Create a function that builds the tree:
    JavaScript
    function CreateProjectExplorer()
    {
        Initialise();
        // This MUST be the called before
        // any other of treeview's funcitons.
    
        // Build a test project.
        d = CreateTreeItem( rootCell, "img/project.gif", 
            "img/project.gif", "Point of Sale terminal", 
            null, null );
        d2 = CreateTreeItem( d, "img/folder_closed.gif", 
             "img/folder_open.gif", "Actors", null, null );
        // .....
    }

That's it! You are up and running with a tree browser.

The function signature is:

JavaScript
// Creates a new package under a parent. 
// Parameters:
//    parent: The parent element of the new element. (E.g. a folder)
//    img1FileName: File name of the "unclicked" image. (E.g. Closed folder)
//    img2FileName: File name of the "clicked" image. (E.g. Open folder)
//    nodeName: The text to display for the tree node.
//    url: The url to link to when the node is clicked.
//    target: Target when the node is clicked.
//            Possible values are: Frame name, _blank, _self
// Returns:
//    The newly created tree node item. 
//    To create children of the new node pass the returned 
//    node in as a parent of another new node.
function CreateTreeItem( parent, img1FileName, 
                         img2FileName, nodeName, url, target )

Thanks to D. D. de Kerf for the inspiration!

Note: This script is supplied "as is" without any form of warranty. Rewritten Software shall not be liable for any loss or damage to person or property as a result of using this script. Use this script at your own risk!

You are licensed to use this script free of charge for commercial or non-commercial use providing you do not remove the copyright notice or disclaimer from the comment section in the script.

Have fun!

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here


Written By
Web Developer
Australia Australia
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.

Comments and Discussions

 
GeneralThanx Pin
Ajay K Tomar25-Jan-09 21:36
Ajay K Tomar25-Jan-09 21:36 
QuestionHow to use it in asp.net2.0 Pin
VimalSaifudin11-Nov-07 19:39
VimalSaifudin11-Nov-07 19:39 
QuestionOpening the URL in the same window Pin
ai4u28-Jun-07 3:00
ai4u28-Jun-07 3:00 
Questionhow to display xml data in treecheckbox using javascript Pin
snitu8-Apr-07 18:35
snitu8-Apr-07 18:35 
GeneralNot running Pin
sdhiman28-Dec-06 0:06
sdhiman28-Dec-06 0:06 
GeneralDrawing the tree in a special location Pin
islam galileo19-Apr-06 3:13
islam galileo19-Apr-06 3:13 
GeneralRe: Drawing the tree in a special location Pin
islam galileo19-Apr-06 3:16
islam galileo19-Apr-06 3:16 
GeneralRe: Drawing the tree in a special location Pin
jrios21-May-06 8:24
jrios21-May-06 8:24 
GeneralRemoving Plus When there are no child nodes Pin
Mikan2314-Feb-06 12:39
Mikan2314-Feb-06 12:39 
GeneralRe: Removing Plus When there are no child nodes Pin
mrtsherman30-Apr-06 16:45
mrtsherman30-Apr-06 16:45 
GeneralRe: Removing Plus When there are no child nodes Pin
Mikan2330-Apr-06 19:51
Mikan2330-Apr-06 19:51 
GeneralRe: Removing Plus When there are no child nodes Pin
mrtsherman2-May-06 5:37
mrtsherman2-May-06 5:37 
GeneralRe: Removing Plus When there are no child nodes Pin
Mikan2318-May-06 13:13
Mikan2318-May-06 13:13 
Generalthanks Pin
Merlin Rose5-May-09 21:13
Merlin Rose5-May-09 21:13 
GeneralThank You Pin
davidgev30-Nov-05 9:46
davidgev30-Nov-05 9:46 
GeneralTreeView Vertical Lines Pin
Member 229622930-Sep-05 5:41
Member 229622930-Sep-05 5:41 
GeneralRe: TreeView Vertical Lines Pin
Bryon Baker30-Sep-05 16:23
Bryon Baker30-Sep-05 16:23 
GeneralExpand Tree View Pin
Member 229622928-Sep-05 4:28
Member 229622928-Sep-05 4:28 
GeneralRe: Expand Tree View Pin
Bryon Baker28-Sep-05 10:25
Bryon Baker28-Sep-05 10:25 
Generalline provision Pin
Sudhakar J27-Sep-05 1:17
Sudhakar J27-Sep-05 1:17 
GeneralRe: line provision Pin
Sudhakar J27-Sep-05 1:32
Sudhakar J27-Sep-05 1:32 
Generalexpand tree node Pin
Member 13163148-Aug-05 16:14
Member 13163148-Aug-05 16:14 
GeneralRe: expand tree node Pin
Bryon Baker8-Aug-05 23:46
Bryon Baker8-Aug-05 23:46 
GeneralThanks Pin
EEmadzadeh6-Aug-05 15:59
EEmadzadeh6-Aug-05 15:59 
GeneralRe: Thanks Pin
Sudhakar J27-Sep-05 4:54
Sudhakar J27-Sep-05 4:54 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.