就是实现:
ROOT
  --CHILD
    --CHILD_CHILD
这样的结构!!!第三层CHILD_CHILD怎么定义??

解决方案 »

  1.   


    Add 方法(Nodes 集合)
          在 Treeview 控件的 Nodes 集合中添加一个 Node 对象。语法object.Add(relative, relationship, key, text, image, selectedimage)Add 方法的语法包含下面部分:部分 描述 
    object 必需的。对象表达式,其值是“应用于”列表中的一个对象 
    relative 可选的。已存在的 Node 对象的索引号或键值。新节点与已存在的节点间的关系,可在下一个参数 relationship 中找到。 
    relationship 可选的。指定的 Node 对象的相对位置,如设置值中所述。 
    key 可选的。唯一的字符串,可用于用 Item 方法检索 Node。 
    text 必需的。在 Node 中出现的字符串。 
    image 可选的。在关联的 ImageList 控件中的图像的索引。 
    selectedimage  可选的。在关联的 ImageList 控件中的图像的索引,在 Node 被选中时显示。 
    设置值relationship 的设置值是:常数 值 描述 
    tvwFirst 0 首的节点。该 Node 和在 relative 中被命名的节点位于同一层,并 位于所有同层节点之前。 
    tvwLast 1 最后的节点。该 Node 和在 relative 中被命名的节点位于同一层,并 位于所有同层节点之后。任何连续地添加的节点可能位于最后添加的节点之后 
    tvwNext 2 (缺省)下一个节点。该 Node 位于在 relative 中被命名的节点之后。 
    tvwPrevious 3 前一个节点。该 Node 位于在 relative 中被命名的节点之前。 
    tvwChild 4 (缺省)子节点。该 Node 成为在 relative 中被命名的 
    节点的子节点。
     
    注意 如果在 relative 中没有被命名的 Node 对象,则新节点被放在节点顶层的最后位置。说明Nodes 集合是一个基于 1 的集合。在添加 Node 对象时,它被指派一个索引号,该索引号被存储在 Node 对象的 Index 属性中。这个最新成员的 Index 属性值就是 Node 集合的 Count 属性的值。因为 Add 方法返回对新建立的 Node 对象的引用,所以使用这个引用来设置新 Node 的属性十分方便。以下例子添加几个具有相同属性的 Node 对象:Dim nodX As Node   '声明对象变量。
    Dim I as Integer   '声明计数器变量。
    For I = 1 to 4
       Set nodX = TreeView1.Nodes.Add(,,,"Node " & Cstr(i))
       '使用引用来设置其它属性,如 Enabled。
       nodX.Enabled = True
       '把图像属性设置为在关联的 ImageList 中的图像 3。
       nodX.ExpandedImage = 3
    Next I
      

  2.   

    给你看段我的代码
    Private Sub RefTree()   '刷新树型结构
    TreeView1.Nodes.Clear
    Dim mNode As Node, RootLen%Dim r As New adodb.Recordset  r.Open "select * from splb  order by spdm", Cn
    If Not r.EOF Then
        RootLen = Len(Trim(r!spdm))
    End If
    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
    End Sub
      

  3.   

    Private Sub Form_Load()
        Dim NodX As Node
        Set NodX = TreeView1.Nodes.Add(, , "R", "ROOT")
        Set NodX = TreeView1.Nodes.Add("R", tvwChild, "key1", "CHILD")
        Set NodX = TreeView1.Nodes.Add("key1", tvwChild, "key2", "CHILD_CHILD")
        NodX.EnsureVisible
    End Sub