http://www.ourfly.com/download/downloadlist.aspx?type=Asp.NET
treeview的演示

解决方案 »

  1.   

    数据库结构如下: 
    表名:Table1 
    ParentID varchar 20:父节点 
    ID varchar 20:节点 
    Name varchar 50:名称 来来来,这里给你个例程,再给个我的网页上的TreeViwe看看,一万个子节点都没问题 
    。 
    http://dev1.eraserver.net/czc888/webform1.aspx 
    至于那三个图象的意义你看我的网页就知道了。分别表示一页纸(没有子节点)、一本 
    关闭的书(有子节点),一本打开的书(当前节点被展开) void creat_node(string 
    name,Microsoft.Web.UI.WebControls.TreeNode t1,string number) 

    //定义一个新的结点 Microsoft.Web.UI.WebControls.TreeNode t2=new 
    Microsoft.Web.UI.WebControls.TreeNode(); 
    t2.ID=number; 
    t2.Text=name; //判断是否为根结点 
    TreeView1.ExpandedImageUrl="images/Depart03.bmp"; 
    if(t1.ID.Trim()=="###") 

    TreeView1.Nodes.Add(t2); 
    t2.ImageUrl="images/Depart01.bmp"; 

    else 

    t1.Nodes.Add(t2); 
    t2.ImageUrl="images/Depart01.bmp"; 
    t1.ImageUrl="images/Depart02.bmp"; 
    } //取得这个结点的所有子结点,利用递归自动生成 
    string mySelectQuery = "SELECT ParentID, ID,Name FROM table1 
    where ParentID='" + number +"'"; 
    string MyConnString="provider=Microsoft.Jet.OLEDB.4.0;Data 
    Source="+Server.MapPath(".")+"/dt/mydata.mdb"; 
    OleDbConnection myConnection = new 
    OleDbConnection(MyConnString); 
    OleDbCommand myCommand = new 
    OleDbCommand(mySelectQuery,myConnection); 
    myConnection.Open(); 
    OleDbDataReader myReader; 
    myReader = myCommand.ExecuteReader(); 
    while (myReader.Read()) 

    creat_node(myReader.GetString(2),t2,myReader.GetString(1)); } 
    myReader.Close(); 
    myConnection.Close(); } private void CreateProviderTreeBtn_Click(object sender, 
    System.EventArgs e) 

    Microsoft.Web.UI.WebControls.TreeNode t1=new 
    Microsoft.Web.UI.WebControls.TreeNode(); 
    creat_node("",t1,"###"); 
      

  2.   

    public void InitTree(Microsoft.Web.UI.WebControls.TreeNodeCollection  Nds,string parentId,DataSet ds,string TableName)
    {  
             dv=new DataView();
    Microsoft.Web.UI.WebControls.TreeNode  tmpNd;
    string intId;
    dv.Table=ds.Tables[TableName];
    dv.RowFilter="ParentId="  + parentId ;
    foreach(DataRowView drv in dv)
    {   
                    tmpNd=new Microsoft.Web.UI.WebControls.TreeNode();
    tmpNd.ID=drv[0].ToString();
    tmpNd.Text=drv[2].ToString();
    Nds.Add(tmpNd);
    intId=drv[1].ToString();
    InitTree(tmpNd.Nodes,tmpNd.ID.ToString(),ds,TableName);
    }
    }
    表:
    id parentid name
      

  3.   

    http://expert.csdn.net/Expert/topic/2093/2093882.xml?temp=.331341