GDocsOpen - Open, Edit and Save DOC and XLS files directly from Windows using Google Docs

TreeView

Using YUIAsp.Net TreeView control, you are able to display nested data. You have client side/postback/update panel support.

		<yui:TreeView ID="TreeView1" OnClientNodeExpand="ExpandNode" OnClientNodeClick="ClickNode" runat="server">
   <Nodes>
     <yui:TreeNode Text="Leaf Node" Value="n1"></yui:TreeNode>
       <yui:TreeNode Text="node 2" Value="n2">
         <Nodes>
           <yui:TreeNode Text="YUIAspNetControls">
             <Nodes>
               <yui:TreeNode Text="Calendar"></yui:TreeNode>
               <yui:TreeNode Text="TreeView">
                 <Nodes>
                   <yui:TreeNode Text="Lazy TreeView"></yui:TreeNode>
                   <yui:TreeNode Text="Autopostback TreeView"></yui:TreeNode>
                   <yui:TreeNode Text="Other..."></yui:TreeNode>
                 </Nodes>
               </yui:TreeNode>
             </Nodes>
           </yui:TreeNode>
           <yui:TreeNode Text="ASP.NET">
             <Nodes>
               <yui:TreeNode Text="v 1.0"></yui:TreeNode>
               <yui:TreeNode Text="v 1.1"></yui:TreeNode>
               <yui:TreeNode Text="v 2.0"></yui:TreeNode>
             </Nodes>
           </yui:TreeNode>
         </Nodes>
       </yui:TreeNode>
     <yui:TreeNode Text="Secret node" Value="secret">
       <Nodes>
         <yui:TreeNode Text="Not allowed to see!"></yui:TreeNode>
       </Nodes>
     </yui:TreeNode>
   </Nodes>
</yui:TreeView>
	

You can easily add nodes from ASP.NET markup, or from code behind, you can decide from client handlers what to happen when a node is collapsed, expanded or clicked.

Node: The tree nodes aren't stored anywhere, so after each postback, they will be lost. I chose this approach to keep the control fast & simple. If you feel viewstate support is important for you, please let me know