ListView 搜索函数如下
哪位能给个实例吗?我正要用它,谢谢啊!' 函数名:  SearchListView
' 描述:ListView 搜索函数
'日期:2005.03.05
'**************************************Option Explicit
Public Sub SearchListView(ListViewX As ListView, SearchString As String, ListViewZ As ListView)
    On Error Resume Next
    Dim w, x, y, z As Integer
    Dim a, b As String
    ListViewX.ListItems.Add , , " "
    ListViewX.ListItems.Item(1).Selected = True
    SearchString = LCase(SearchString)
    Do Until ListViewX.SelectedItem.Index = ListViewX.ListItems.Count
        a = LCase(ListViewX.SelectedItem.Text)
        z = Len(a)
        y = Len(SearchString)
        For x = 1 To z
            If Mid(a, x, y) = SearchString Then
                If ListViewX.SelectedItem = b Then
                Else
                    ListViewZ.ListItems.Add , , ListViewX.SelectedItem
                    b = ListViewX.SelectedItem
                End If
            End If
        Next x
        w = ListViewX.SelectedItem.Index
        w = w + 1
        ListViewX.ListItems.Item(w).Selected = True
    Loop
    ListViewX.ListItems.Remove (ListViewX.ListItems.Count)
End Sub

解决方案 »

  1.   

    窗体上两个listview,一个按钮:Option Explicit
    Public Sub SearchListView(ListViewX As ListView, SearchString As String, ListViewZ As ListView)
        On Error Resume Next
        Dim w, x, y, z As Integer
        Dim a, b As String
        ListViewX.ListItems.Add , , " "
        ListViewX.ListItems.Item(1).Selected = True
        SearchString = LCase(SearchString)
        Do Until ListViewX.SelectedItem.Index = ListViewX.ListItems.Count
            a = LCase(ListViewX.SelectedItem.Text)
            z = Len(a)
            y = Len(SearchString)
            For x = 1 To z
                If Mid(a, x, y) = SearchString Then
                    If ListViewX.SelectedItem = b Then
                    Else
                        ListViewZ.ListItems.Add , , ListViewX.SelectedItem
                        b = ListViewX.SelectedItem
                    End If
                End If
            Next x
            w = ListViewX.SelectedItem.Index
            w = w + 1
            ListViewX.ListItems.Item(w).Selected = True
        Loop
        ListViewX.ListItems.Remove (ListViewX.ListItems.Count)
    End SubPrivate Sub Command1_Click()
    SearchListView ListView1, "test", ListView2
    End SubPrivate Sub Form_Load()
    Dim i As Long
    For i = 0 To 20
    ListView1.ListItems.Add Text:="line " & CStr(i)
    ListView1.ListItems.Add Text:="test " & CStr(i)
    Next
    End Sub
      

  2.   

    Public Sub SearchListView(ListViewX As ListView, SearchString As String, ListViewZ As ListView)
    这个自定义函数的作用是:将ListViewX中包含SearchString 的item都加入到ListViewZ 中