TreeView Web Control

  Bob's Kinship

This works!  But..., as the tree gets expanded more and more data is stored in the viewstate.  This is transmitted back-and-forth with each postback.  The delays become intolerable.
The treeview control is neat and easily implemented, but is for small trees only.
There are also unresolved issues here with unwanted postbacks causing "flicker" and adding to the general unsuitability in this instance.  A custom postback routine is needed.
The benefit of this approach is that it should work in any "modern" browser on any platform.

Similar page using an embedded Windows Form
Similar page using an Active-X Control