65.9K
CodeProject is changing. Read more.
Home

JScript tree control menu

starIconstarIconstarIconstarIconemptyStarIcon

4.00/5 (11 votes)

Jan 23, 2004

viewsIcon

53054

downloadIcon

1379

JScript tree control menu

Introduction

This is a tree control menu in JavaScript. Usage is simple and convenient.

Explanation

I will introduce this tree control embodying to JavaScript. This menu will be more accurate than other such controls. First point that this control differs with other controls is that this is embodied by multiplex distribution. It is actually possible, though some people think that multiplex arrangement is impossible with JavaScript.

  Item[iLength]  = new Array();
  Item[iLength][0] = parentItem;
  Item[iLength][1] = description;
  Item[iLength][2] = hreference;
  Item[iLength][3] = target;
  Item[iLength][4] = iDepth;
  Item[iLength][5] = true;

I enabled multiplex arrangement by assigning distribution (that is new again) on the 0th arrangement article. In this way, that we have an embodied arrangement of multidimensional items.

And I will explain about the code that changes the tree node image. First, see code.

DocWrite("<img id=wsTreeNodeImg_" + i + 
  " src='" + ImgDir + TempNodeImg + "' border='0'>"); 
...
//case NS6

Doc.getElementById(ItemName + iItem).src = ImgName;
//case IE6

Doc[ItemName + iItem].src = ImgName;

Method that checks for browser:-

  if (document.all) { //IE4
   Doc = document.all;
   browserVersion = 1;  
   
  }else if (document.layers) { //NS4 
   Doc = document.layers;
   browserVersion = 2; 

  }else if(document.getElementById) { //NS6
   Doc = document;
   browserVersion = 3;  
   
  }else { //other 
   Doc = document.all;
   browserVersion = 0; 
  }

First, I create wsTreeCtrl's instance. And I call initialization function (initializeDocument).

 m_wsTreeCtrl = new wsTreeCtrl();
 m_wsTreeCtrl.initializeDocument();

Now, I put items to add in the tree through InsItem function. The first parameter is the parent item (in some cases, it is child item.), the second parameter establishes the text to be seen, and the third is the hyper link, and I establish target of hyper link finally. The following is the code that establishes tree of contents such as an upside image.

 iItem = m_wsTreeCtrl.InsItem(null, "Profile", "", "_blank");
 m_wsTreeCtrl.InsItem(iItem, 
   "whitespray", "http://whitespray.com/">http://whitespray.com/", "_blank");
 
 iItem = m_wsTreeCtrl.InsItem(null, "Homepage", "", "_blank");
 m_wsTreeCtrl.InsItem(iItem, "jongha.pe.kr", 
   "http://jongha.pe.kr/">http://jongha.pe.kr/", "_blank");
 m_wsTreeCtrl.InsItem(iItem, "whitespray.com", 
   "http://whitespray.com/">http://whitespray.com/", "_blank");
 m_wsTreeCtrl.InsItem(iItem, "hizine.net", 
   "http://hizine.net/">http://hizine.net/", "_blank");
 
 iItem = m_wsTreeCtrl.InsItem(null, "Email", 
   "mailto:ahn@jongha.pe.kr">mailto:ahn@jongha.pe.kr", "_blank");
   
 m_wsTreeCtrl.GenerateCode();
 m_wsTreeCtrl.RecudeAllTree();
 
 function Recude() {
  m_wsTreeCtrl.RecudeAllTree();
 }
 
 function Expand()  {
  m_wsTreeCtrl.ExpandAllTree();
 }