Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        '在此处放置初始化页的用户代码
        If Not Page.IsPostBack Then
            Application("connectstring") = "server=erp;uid=erpsa;pwd=erpsa;database=testerp"
            CreateDataSet()
            intiTree(TreeView1.Nodes, 0)
        End If   
    End Sub    Private Sub CreateDataSet() '建立数据集         
        Dim string1 As String
        Dim sqlselect As String        Dim MyDA As SqlDataAdapter
        Dim objDConn As SqlConnection
        string1 = Application("connectstring")
        objDConn = New SqlConnection(string1)
        sqlselect = "select NODEID,NODENAME,PARENTID from TREE_INFO"
        MyDA = New SqlDataAdapter(sqlselect, objDConn)
        MyDA.Fill(ds, "TREE")    End Sub    Private Sub intiTree(ByRef Nds As TreeNodeCollection, ByVal parentId As Integer)       
        Dim strId As String
       
        Dim dv As New DataView()
        Dim drv As DataRowView
        Dim tmpNd As TreeNode
        Dim intId As Integer
        dv.Table = ds.Tables("TREE")
        dv.RowFilter = "PARENTID='" & parentId & "'"
        For Each drv In dv
            tmpNd = New TreeNode()
            strId = drv("NODEID")
            tmpNd.ID = strId
            tmpNd.Text = drv("NODENAME")
            ' tmpNd.ImageUrl = drv("ICON").ToString
            Nds.Add(tmpNd)
            intId = Val(drv("NODEID"))
            intiTree(Nds(Nds.Count - 1).Nodes, intId)        Next    End Sub关键在建立表结构上,本节点编号NODEID,其父节点parentId,节点名NODENAME。祝成功。

解决方案 »

  1.   

    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;
    //判断是否为根结点
    if(t1.ID.Trim()=="###")
    {
    TreeView1.Nodes.Add(t2);
    }
    else
    {
    t1.Nodes.Add(t2);
    }
         //取得这个结点的所有子结点,利用递归自动生成
    string mySelectQuery = "SELECT ParentID,RegionID,Name FROM dtRegionP where  ParentID='" + number +"'";
    string MyConnString="provider=Microsoft.Jet.OLEDB.4.0;Data Source="+Server.MapPath(".")+"/dt/epf1.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.   

    样例:http://dev1.eraserver.net/czc888/webform1.aspx
      

  3.   

    下载这个控件:http://www.aspxcn.com/dotnetdown/show.aspx?id=6
    然后按sumanden(心头慌,打中张)的方法做