Using jsTree As TreeView Control For DotNetNuke
Asynchronous method
Here is an example of how to build a tree management control for unlimited hierarchies. In case of large trees it is better to use lazy load for nodes to spped up page load time.
Under the tree you have an option "Early children check". This means that children are checked at the node loading. This allows us to display "open" marks only for the nodes that really have children. If you turn off early children check all nodes initialy openable and children are checked when you try to open a node.