能否给个详细例子

解决方案 »

  1.   

    Do While Not r.EOF
        If Len(Trim(r!spdm)) = 1 Then
            Set mNode = TreeView1.Nodes.Add()        mNode.Text = Trim(r!spdm) & Space(2) & Trim(r!spmc)
            mNode.Key = "R" & Trim(r!spdm)
            mNode.Image = 1
            mNode.ExpandedImage = 1
            mNode.Tag = r!ccbz
        Else
            On Error Resume Next
            err = 0
            Set mNode = TreeView1.Nodes.Add("R" & Left(Trim(r!spdm), Len(Trim(r!spdm)) - 1), 4) '先按长度减一为父接点,添加子接点
            If err Then     '如有错误,按长度减二添加子接点
                Set mNode = TreeView1.Nodes.Add("R" & Left(Trim(r!spdm), Len(r!spdm) - 2), 4)
            End If
            On Error GoTo 0
            mNode.Text = Trim(r!spdm) & Space(2) & Trim(r!spmc)
            mNode.Key = "R" & Trim(r!spdm)
            If Trim(r!ccbz) = "2" Then  'CCBZ字段意义:1为无子接点,0为有子接点,2为三级明细
                mNode.Image = 4
            Else
                mNode.Image = 3
            End If
            mNode.ExpandedImage = 1
            mNode.Tag = r!ccbz
            On Error Resume Next
            err = 0
            TreeView1.Nodes("R" & Left(Trim(r!spdm), Len(r!spdm) - 1)).Image = 2
            If err Then
                TreeView1.Nodes("R" & Left(Trim(r!spdm), Len(r!spdm) - 2)).Image = 2
            End If
            On Error GoTo 0
        End If
    r.MoveNext
    Loop
    r.Close
      

  2.   

    http://community.csdn.net/Expert/topic/3153/3153851.xml?temp=.4087488
    http://community.csdn.net/Expert/topic/3161/3161926.xml?temp=.7004206
    看看吧!!
      

  3.   

    我给你举个例子,是心理测量系统数据库的Treeview
    ---------------------------------------------------
    ---------------------------------------------------Private Sub TestView()Set mcnn = New ADODB.Connection
    mcnn.Open "provider=Microsoft.jet.oledb.4.0;persist security info=false;data source=" & App.Path & "\inc\mm.mdb"
    Set rs = New ADODB.Recordset
    Set nodX = tvwTest.Nodes.Add(, , "r", "心理测量系统")TestViewList "r1", "智力类"
    TestViewList "r2", "情感类"
    TestViewList "r3", "健康类"
    TestViewList "r4", "个性类"
    TestViewList "r5", "能力类"
    TestViewList "r6", "职业类"mcnn.Close
    End SubPrivate Sub TestViewList(root As String, name As String)sql = "select 名称 from " & name
    rs.Open sql, mcnn, , , adCmdTextSet nodX = tvwTest.Nodes.Add("r", tvwChild, root, name)
    nodX.EnsureVisible
    Do While Not rs.EOF
    Set nodX = tvwTest.Nodes.Add(root, tvwChild, , rs("名称"))
    rs.MoveNext
    Loop
    rs.CloseEnd Sub