Click here to Skip to main content
Licence 
First Posted 16 Mar 2005
Views 140,618
Bookmarked 42 times

Tree View

By | 16 Mar 2005 | Article
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.
    <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



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

 
You must Sign In to use this message board. (secure sign-in)
 
Search this forum  
 FAQ
    Noise  Layout  Per page   
  Refresh
GeneralThanx Pinmemberajay_nahan21:36 25 Jan '09  
QuestionHow to use it in asp.net2.0 PinmemberVimalSaifudin19:39 11 Nov '07  
QuestionOpening the URL in the same window Pinmemberai4u3:00 28 Jun '07  
Questionhow to display xml data in treecheckbox using javascript Pinmembersnitu18:35 8 Apr '07  
GeneralNot running Pinmembersdhiman0:06 28 Dec '06  
GeneralDrawing the tree in a special location Pinmemberislam galileo3:13 19 Apr '06  
GeneralRe: Drawing the tree in a special location Pinmemberislam galileo3:16 19 Apr '06  
GeneralRe: Drawing the tree in a special location Pinmemberjrios8:24 21 May '06  
GeneralRemoving Plus When there are no child nodes PinmemberMikan2312:39 14 Feb '06  
GeneralRe: Removing Plus When there are no child nodes Pinmembermrtsherman16:45 30 Apr '06  
GeneralRe: Removing Plus When there are no child nodes PinmemberMikan2319:51 30 Apr '06  
GeneralRe: Removing Plus When there are no child nodes Pinmembermrtsherman5:37 2 May '06  
GeneralRe: Removing Plus When there are no child nodes PinmemberMikan2313:13 18 May '06  
Generalthanks PinmemberMerlin Rose21:13 5 May '09  
GeneralThank You Pinmemberdavidgev9:46 30 Nov '05  
GeneralTreeView Vertical Lines PinmemberLorraine Concos5:41 30 Sep '05  
GeneralRe: TreeView Vertical Lines PinmemberBryon Baker16:23 30 Sep '05  
GeneralExpand Tree View PinmemberLorraine Concos4:28 28 Sep '05  
GeneralRe: Expand Tree View PinmemberBryon Baker10:25 28 Sep '05  
The reason you are getting the error is that the Expand() and Collapse() methods are old ones that I forgot to delete. They won't work as they stand.
 
The way Tree View works is that is creates a hash that uniquely identifies every node. When you click on the expand or collapse symbols (+ or -) the hash is passed so that it can work out which one needs to be expanded or collapsed.
 
You need to modify the Expand and Collapse methods to pass these hash keys.
 
Regards,
 
Bryon
Generalline provision PinmemberSudhakar J1:17 27 Sep '05  
GeneralRe: line provision PinmemberSudhakar J1:32 27 Sep '05  
Generalexpand tree node Pinmembermwong702516:14 8 Aug '05  
GeneralRe: expand tree node PinmemberBryon Baker23:46 8 Aug '05  
GeneralThanks PinmemberEEmadzadeh15:59 6 Aug '05  
GeneralRe: Thanks PinmemberSudhakar J4:54 27 Sep '05  

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

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

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