VB如何筛选listview里的内容

2025-04-28 08:08:16
推荐回答(2个)
回答1:

也就是查找LISTVIEW控件中指定的字符串吧.

Private Sub ListView2_Click()
On Error GoTo ONERROR
Dim strFindMe As String

strFindMe = ListView2.ListItems(ListView2.SelectedItem.Index).Text 获取选定行的第一列的文本

FindItem 方法返回找到的项目的引用,所以必须创建对象变量并将找到的项目设置给它。
Dim itmFound As ListItem “FoundItem 变量”

Set itmFound = ListView1.FindItem(strFindMe, lvwText, , lvwPartial)

若未找到符合条件的 ListItem 则通知用户并退出。如果找到 ListItem,则使用 EnsureVisible 方法滚动控件,并选定 ListItem。
If itmFound Is Nothing Then 若没有匹配成功,则通知用户并退出。
MsgBox "No match found"
Else
itmFound.EnsureVisible 滚动 ListView 以显示找到的 ListItem。
itmFound.Selected = True 选定ListItem。
ListView1.SetFocus 将焦点返回给控件以查看选择。
End If
Set itmFound = Nothing
ONERROR:
If Err.Number <> 0 Then
Select Case Err.Number
Case Else
MsgBox "错误代码:" & Err.Number & " 错误描述:" & Err.Description, vbExclamation, App.ExeName
Resume Next
End Select
End If
End Sub

回答2:

你这样是不可能实现的,你的这个lv类似一个dbgrid,提供查询用,不能实现动态展示的,不过你可以把这个lv隐藏起来,再新建一个lv,用来展示,就能达到你的目的了