运行这段时说   Set clmX = ListView1.ColumnHeaders.Add() 类型不匹配    Dim clmX As ColumnHeader
    Dim itmX As ListItem
    Dim i As Integer    For i = 1 To 3
        Set clmX = ListView1.ColumnHeaders.Add()
        clmX.Text = "Col" & i
    Next i
    
    '添加 10 个具有相同图标的项目到列表中    For i = 1 To 10
        Set itmX = ListView1.ListItems.Add()
        itmX.SmallIcon = 1
        itmX.Text = "ListItem " & i
        itmX.SubItems(1) = "Subitem 1"
        itmX.SubItems(2) = "Subitem 2"
    Next i

解决方案 »

  1.   

    最后一个参数是表示数据前的图标,如果要设置的话,需要先在窗体上加一个imagelist控件,在里面插入几张图片,最好设置成16*16的,然后将ListView1属性中“图象列表”设置为imagelist的名称,这样就可以了!
      

  2.   

    我加了imagelist了,但却说类型不匹配?怎么办?
      

  3.   

    "ListView1属性中“图象列表”设置为imagelist的名称",这个做到了吗??图标类型好象也有限制的
      

  4.   

    整段代码是这样的,是LISTVIEW的示例。您帮我看看吧。    Dim itmx As ListItem
        '若当前记录不是最后一条记录,则添加一个 ListItem 对象。
        'ListItem 对象的文本使用 author 字段。
        'ListItem 对象的 SubItem(1) 使用 AuthorID 字段。
        'ListItem 对象的 SubItem(2) 使用 "Year of Birth" 字段。    While Not myrs.EOF
            Set itmx = ListView1.ListItems. _
            Add(, , CStr(myrs!Author), 1)   'Author 字段。        If Not IsNull(myrs!Au_id) Then
                itmx.SubItems(1) = CStr(myrs!Au_id)   ' Author ID。
            End If        '若 birth 字段不为空,则将 SubItem 2 设置为此字段。
            If Not IsNull(myrs![Year Born]) Then
                itmx.SubItems(2) = myrs![Year Born]
            End If
            myrs.MoveNext   '移动到下一条记录。
        Wend
      

  5.   

    补充一下:
    如果这句改成这样就不出错
    Set itmx = ListView1.ListItems. _ 
    Add(, , CStr(myrs!Author), 1) 'Author 字段。 
    改成
    ListView1.ListItems. _ 
    Add , , CStr(myrs!Author), 1 'Author 字段。 但不知怎么弄子项
      

  6.   

    我要怎么样才能让listview每行前面的图标显示出来。。我已经在图象列表指定IMAGELIST了。可是没什么效果。
      

  7.   

    试试看这样可不可以:for i=1 to 记录数ListView1.ListItems. _ 
    Add i, , CStr(myrs!Author), 1 'Author 字段没有你的完整代码,我只能尝试这样改动了,你试试看吧