用ListView 显示数据,100多条
提供了一个按照字母进行首字段自动定位。但是因为一屏只显示10条数据(有滚动条),而定位的数据可能不在这10条内,那么就需要定位以后滚动滚动条或者处理些什么。
请高手指点不知道我说清楚了没有!

解决方案 »

  1.   

    已经解决
    lsvView.SelectedItem.EnsureVisible
      

  2.   

    Private Sub Command1_Click()
        Dim i As Long
        Dim s As String
        s = InputBox("选中指定的item并使之可见", "请输入一个介于1和" & CStr(Me.ListView1.ListItems.Count) & "之间的数")
        
        If IsNumeric(s) Then
            i = CLng(s)
        Else
            i = 1
        End If
        If i > Me.ListView1.ListItems.Count Then
            i = Me.ListView1.ListItems.Count
        ElseIf i < 1 Then
            i = 1
        End If
        On Error Resume Next
        Me.ListView1.ListItems(i).Selected = True
        Me.ListView1.SetFocus
        Me.ListView1.ListItems(i).EnsureVisible
    End SubPrivate Sub Form_Load()
        Me.ListView1.View = lvwReport
        Me.ListView1.ColumnHeaders.Add , , "test"
        Me.ListView1.HideColumnHeaders = True
        Dim i As Long
        For i = 1 To 100
        Me.ListView1.ListItems.Add , , "line " + CStr(i)
        Next
    End Sub
      

  3.   

    Me.ListView1.ListItems(i).Selected = True
    Me.ListView1.ListItems(i).EnsureVisible = True
      

  4.   

    Option ExplicitPrivate Sub Command1_Click()
    Me.ListView1.HideSelection = False
    Me.ListView1.ListItems(100).EnsureVisible
    Me.ListView1.ListItems(100).Selected = TrueEnd SubPrivate Sub Form_Load()
    Dim i As Integer
        Dim vlistitem As ListItem
        For i = 1 To 1000
        Me.ListView1.View = lvwReport
        Set vlistitem = Me.ListView1.ListItems.Add(, , "item" & i)
        Next
    End Sub
      

  5.   

    是 rainstormmaster的方法吗?