请问有没有关于TreeView与数据库一起用的资料呢?
我是想一运行程序的时候,TreeView控件把数据库的某表的某一个字段的内容全部列出来.
在些多谢高手.

解决方案 »

  1.   

    Dim tnode As Node
     txtsql = "select 字段 from 表名"
     rs.Open txtsql, cn, 3,2
     Set tnode = TreeView2.Nodes.Add(, , "root", "根节点")
        If Not rs.EOF Then
            Do While Not rs.EOF
               Set tnode = TreeView1.Nodes.Add("root", tvwChild, , rs!字段)
               rs.MoveNext
            Loop
            tnode.EnsureVisible
        End If
        rs.Close
      

  2.   

    一个地区分级显示的例子表的结构:
    01    某市
    0101  某市的地区1
    0102  某市的地区2
    010201地区2的乡镇1绘制的方法,利用编码的递归:Option ExplicitDim RsTrv(5) As ADODB.RecordsetDim Rs As ADODB.Recordset ''定义动态集Dim Rs1 As ADODB.RecordsetDim i As IntegerDim R As IntegerDim Nodx As Node'*****************用于刷新trv控件******************
    '              需要定义全局变量k和l               *
    '**************************************************Public Sub FreTrv()Trv.Nodes.Clear
    '
    'K = 0 ''定义动态集'L = "0" ''定义开始的号码"
    ''先绘制第一个节点
    Set Nodx = Trv.Nodes.Add(, , "L" & "0", "某市")
    Nodx.Image = 1
    Call WriteNode("", 0, "L" & "0")End Sub
    '**************************************************
    ''****************用于绘制节点*********************
    '              需要上级单位的编码                 *
    '**************************************************
    Public Sub WriteNode(ByVal l As String, ByVal S As Integer, Ssdq As String)
    Dim k As Integer
    k = S + 1
    Set RsTrv(k) = New ADODB.Recordset
    Sql = "select * from jgdj where jgbm like '" & l & "%' and djbm like '0%' and len(jgbm)=(" & Len(l) & "+2)"
    RsTrv(k).Open Sql, Cnns, adOpenForwardOnly, adLockReadOnly
    If RsTrv(k).EOF Then  ''当没有数据存在的时候
        RsTrv(k).Close
        Set RsTrv(k) = Nothing
        Exit Sub
    Else ''当有记录存在的时候
        While Not RsTrv(k).EOF
            '''绘制节点
            Set Nodx = Trv.Nodes.Add(Ssdq, tvwChild, "L" & RsTrv(k)!Jgbm, RsTrv(k)!jgmc)
            Nodx.Image = k
            ''进行递规
            Call WriteNode(RsTrv(k)!Jgbm, k, "L" & RsTrv(k)!Jgbm)
            
            '''绘制完毕
            RsTrv(k).MoveNext
        Wend
    End If
    RsTrv(k).Close
    Set RsTrv(k) = Nothing
        
    End Sub
      

  3.   

    Public Sub LoadtreData()
      Dim NodeList As Node
      Dim i As Integer  
      
      Set frmMain.TreeView1.ImageList = Me.ImageList1
      
     
      
      With TreeView1.Nodes
          .Clear
        
          Set NodeList = .Add(, , "Root", "All Class", 1)    ' --the frist  "All Class"
          NodeList.Expanded = True
          NodeList.Tag = "Root"
                NodeList.Selected = True
          
          If Rs.State <> adStateClosed Then Rs.Close
          Rs.Open "Select  distinct Class from People", Conn, adOpenKeyset, adLockPessimistic
          
          For i = 1 To Rs.RecordCount
            Set NodeList = .Add("Root", tvwChild, "S" & Rs("class"), Rs("Class"), 1)  '--the Second  "Class"
                NodeList.Tag = "Class"
            Rs.MoveNext
          Next i
          
          If Rs.State <> adStateClosed Then Rs.Close
          Rs.Open "Select * from People", Conn, adOpenKeyset, adLockPessimistic
           
          For i = 1 To Rs.RecordCount
            Set NodeList = .Add("S" & Rs("class"), tvwChild, "Z" & Rs("ID"), Rs("Name"), GetSex(Rs("Sex") & ""))  '--the third  "People"
                NodeList.Tag = "People"
            Rs.MoveNext
          Next i
         End With
    End Sub