[thelist] Adjustable Tree Control

Hershel Robinson hershelr at netvision.net.il
Fri Mar 12 05:30:06 CST 2004


I am building a page with a large tree structure contained in it. In Version
I of this page, we used a simple HTML tree, generated by the backend, and
used JavaScript on the front end to allow the user to close and open
branches of the tree. The nodes themselves are links. The largest
incarnation of the tree is well over 5K nodes.

We are building Version II now and we need to add several features. One is
contextual menus for the nodes. This I have already done via JavaScript. The
problematic feature, however, is restructuring the tree in real time. What I
mean is that we need to allow the user to be able to relocate a node to a
different location in the tree. If that node is a branch (meaning it has
children, as opposed to a leaf) then his entire branch must be moved.

To note, our system supports only MS IE6 JavaScript-enabled browsers. Please
do not comment on this, it is not my choice and it is not subject to
discussion.

I considered using drag and drop (via JS) for moving nodes and worked on
this once upon a time, but found it not the simplest solution. I have now
come up with allowing a contextual menu choice called "Relocate" or some
such. After selecting that menu option, the user will be informed that he
can now click on the new parent node of the node to be moved.

While this approach may not be actually difficult, I am now interested at
looking at pre-made solutions to this entire tree structure. We might also
be interested in other features. Our present feeling is to send changes in
tree structure to the server in real time (i.e. via hidden CGI as opposed to
when the page is submitted), so this is probably a consideration.

The server is a Windows platform with .net, so .net or Active-X solutions
are certainly possibilities, as well as anything else I haven't thought of.

If anyone has any suggestions or input, I would appreciate it.

Thank you,
Hershel



More information about the thelist mailing list