Click here to Skip to main content
Click here to Skip to main content

Tree View

By , 16 Mar 2005
 

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.
    <script language="javascript" src="scripts/tree_view.js"></script>
  2. Hook into the event that calls a method when the page is loaded:
    <body onLoad="CreateProjectExplorer()">
  3. Create a function that builds the tree:
    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:

// 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

About the Author

Bryon Baker
Web Developer
Australia Australia
Member
No Biography provided

Sign Up to vote   Poor Excellent
Add a reason or comment to your vote: x
Votes of 3 or less require a comment

Comments and Discussions

 
Hint: For improved responsiveness ensure Javascript is enabled and choose 'Normal' from the Layout dropdown and hit 'Update'.
You must Sign In to use this message board.
Search this forum  
    Spacing  Noise  Layout  Per page   
GeneralThanxmemberajay_nahan25 Jan '09 - 21:36 
QuestionHow to use it in asp.net2.0memberVimalSaifudin11 Nov '07 - 19:39 
QuestionOpening the URL in the same windowmemberai4u28 Jun '07 - 3:00 
Questionhow to display xml data in treecheckbox using javascriptmembersnitu8 Apr '07 - 18:35 
GeneralNot runningmembersdhiman28 Dec '06 - 0:06 
GeneralDrawing the tree in a special locationmemberislam galileo19 Apr '06 - 3:13 
GeneralRe: Drawing the tree in a special locationmemberislam galileo19 Apr '06 - 3:16 
GeneralRe: Drawing the tree in a special locationmemberjrios21 May '06 - 8:24 
GeneralRemoving Plus When there are no child nodesmemberMikan2314 Feb '06 - 12:39 
GeneralRe: Removing Plus When there are no child nodesmembermrtsherman30 Apr '06 - 16:45 
GeneralRe: Removing Plus When there are no child nodesmemberMikan2330 Apr '06 - 19:51 
GeneralRe: Removing Plus When there are no child nodesmembermrtsherman2 May '06 - 5:37 
GeneralRe: Removing Plus When there are no child nodesmemberMikan2318 May '06 - 13:13 
GeneralthanksmemberMerlin Rose5 May '09 - 21:13 
GeneralThank Youmemberdavidgev30 Nov '05 - 9:46 
GeneralTreeView Vertical LinesmemberLorraine Concos30 Sep '05 - 5:41 
GeneralRe: TreeView Vertical LinesmemberBryon Baker30 Sep '05 - 16:23 
GeneralExpand Tree ViewmemberLorraine Concos28 Sep '05 - 4:28 
GeneralRe: Expand Tree ViewmemberBryon Baker28 Sep '05 - 10:25 
Generalline provisionmemberSudhakar J27 Sep '05 - 1:17 
GeneralRe: line provisionmemberSudhakar J27 Sep '05 - 1:32 
Generalexpand tree nodemembermwong70258 Aug '05 - 16:14 
GeneralRe: expand tree nodememberBryon Baker8 Aug '05 - 23:46 
GeneralThanksmemberEEmadzadeh6 Aug '05 - 15:59 
GeneralRe: ThanksmemberSudhakar J27 Sep '05 - 4:54 

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

Permalink | Advertise | Privacy | Mobile
Web01 | 2.6.130516.1 | Last Updated 16 Mar 2005
Article Copyright 2005 by Bryon Baker
Everything else Copyright © CodeProject, 1999-2013
Terms of Use
Layout: fixed | fluid