如何用TreeView实现无限级数啊?望各位大侠指点津!

解决方案 »

  1.   

    数据库表里面设计一个id ,parentid就可以标示出树的结构了。
    写个递归算法就可以做了。
      

  2.   

    http://blog.sina.com.cn/s/blog_4cf01991010008vf.html最详细的解决方法
      

  3.   

    Asp.net 2.0 Treeview 无限级无刷新示例
    <%@ Page Language="C#" %>
    <%@ Import Namespace="System.IO" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"><script runat="server">    void Treeview1_TreeNodePopulate(object sender, TreeNodeEventArgs e)
        {
           if (IsCallback)
                if (e.Node.ChildNodes.Count == 0)
                {
                    LoadChildNode(e.Node);
                }
           
        }    private void LoadChildNode(TreeNode node)
        {
            
            DirectoryInfo directory;
            directory = new DirectoryInfo(node.Value);              foreach (DirectoryInfo sub in directory.GetDirectories())
            {
             
                TreeNode subNode = new TreeNode(sub.Name);
                subNode.Value = sub.FullName;            try
                {
                    if (sub.GetDirectories().Length > 0 || sub.GetFiles().Length > 0)
                    {
                        subNode.SelectAction = TreeNodeSelectAction.SelectExpand;
                        subNode.PopulateOnDemand = true;
                        subNode.NavigateUrl = "#";
                    }
               }
                catch { subNode.ImageUrl = "WebResource.axd?a=s&r=TreeView_XP_Explorer_ParentNode.gif&t=632242003305625000"; }
                node.ChildNodes.Add(subNode);
                
            }        foreach (FileInfo fi in directory.GetFiles())
            {
                TreeNode subNode = new TreeNode(fi.Name);
                node.ChildNodes.Add(subNode);
            }
        }
        
        
    </script><html xmlns="http://www.w3.org/1999/xhtml" >
    <head runat="server">
        <title>Untitled Page</title>
    </head><body bgcolor="white">
        <form id="form1" runat="server">
        <div>
        <asp:treeview ID="Treeview1" runat="server" ImageSet="XPFileExplorer"//表示下拉菜单使用什么方式 AutoGenerateDataBindings="false" //AutoGenerateDataBindings 属性设置为 false 来禁用自动生成树节点绑定。
    ExpandDepth=0 
            OnTreeNodePopulate="Treeview1_TreeNodePopulate"
        >
            <SelectedNodeStyle BackColor="#B5B5B5"></SelectedNodeStyle><!-- 设定TreeView的显示的样式-->
            <Nodes>
                <asp:TreeNode Value="C:" Text="C:" PopulateOnDemand="true" SelectAction="Select" NavigateUrl="#" >
                </asp:TreeNode>
                TreeNode 对象的集合,此集合可以使我们循环访问树中所有选中了复选框的节点
            </Nodes>
            <NodeStyle VerticalPadding="2" Font-Names="Tahoma" Font-Size="8pt" HorizontalPadding="2"    ForeColor="Black"></NodeStyle>
            <HoverNodeStyle Font-Underline="True" ForeColor="#6666AA">获取对 TreeNodeStyle 对象的引用,该对象用于设置 TreeView 控件中节点的默认外观。 
             </HoverNodeStyle>
        </asp:treeview>
        </div>
        </form>
    </body>
    </html>