Option Explicit
Private Sub Form_Load()
   '建立一个ADO数据连接
   Dim cnn As New ADODB.Connection
   Dim rs As New ADODB.Recordset
   '建立一个连接字符串
   '这个连接串可能根据数据库配置的不同而不同
   cnn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\db_kfgl.mdb;Persist Security Info=False"
   '建立数据库连接
   cnn.Open
   rs.Open "select * from kf", cnn
   If rs.EOF Then Exit Sub
   '网格行
   ListView1.GridLines = True
   '选择整行
   ListView1.FullRowSelect = True
   '采用报表显示模式
   ListView1.View = lvwReport
   Dim ListX As ListItem
   Dim ListSubX As ListSubItem
   Dim ColumnX As ColumnHeader
   Dim i As Integer
   '填充表头
   For i = 0 To rs.Fields.Count - 1
       Set ColumnX = ListView1.ColumnHeaders.Add
       ColumnX.Text = rs.Fields(i).Name
       ColumnX.Width = ListView1.Width / rs.Fields.Count
   Next i
   '填充数据
   Do Until rs.EOF
       '添加一行
       Set ListX = ListView1.ListItems.Add
       ListX.Text = rs.Fields(0).Value
       For i = 1 To rs.Fields.Count - 1
           Set ListSubX = ListX.ListSubItems.Add
           ListSubX.Text = rs.Fields(i).Value
       Next i
       rs.MoveNext
   Loop
   rs.Close
   Set rs = Nothing
   cnn.Close
   Set rs = Nothing
End Sub在上面代码的这一段中:
Do Until rs.EOF
       '添加一行
       Set ListX = ListView1.ListItems.Add
       ListX.Text = rs.Fields(0).Value
       For i = 1 To rs.Fields.Count - 1
           Set ListSubX = ListX.ListSubItems.Add
           ListSubX.Text = rs.Fields(i).Value
       Next i
       rs.MoveNext
   Loop
listX 与 listsubX变量有什么区别?各自起了什么作用? 自己百度搜索了资料反复测试下也没有弄明白,请大家指教.谢谢!!

解决方案 »

  1.   

    listX是ListItems-----ListView第一列项的集合
    ListSubX是ListSubItems-ListView第二列以后各项的集合----即子项集合
    Private Sub Form_Load()
    ListView1.ColumnHeaders.Add , , "1"
    ListView1.ColumnHeaders.Add , , "2"
    ListView1.ColumnHeaders.Add , , "3"
    ListView1.View = lvwReport
    Set ListX = ListView1.ListItems.Add(, , "111111")
     Set ListSubX = ListX.ListSubItems.Add(, , "2222")
     Set ListSubX = ListX.ListSubItems.Add(, , "3333")
    Set ListX = ListView1.ListItems.Add(, , "111111")End Sub
      

  2.   

    已经多次得到您的帮助了.非常感谢.
    我的意思是说  ListItem 与  ListSubItem 对象有什么区别?请您再讲解下.谢谢