【发布时间】:2021-03-13 20:21:18
【问题描述】:
我在一个包含大约 3400 行的表单中使用 Listview。当我想通过删除一次不包含我要过滤的字符串来过滤行时,需要很长时间。难道不应该有更快的方法来做到这一点吗?
Private Sub FilterListView()
Try
Dim pos As Int32
Dim listItem As ListViewItem
For pos = ListView1.Items.Count - 1 To 0 Step -1
listItem = ListView1.Items(pos)
If Not InStr(1, ListView1.Items(pos).SubItems(1).Text.ToLower, FilterParameter.ToLower) > 0 Then
ListView1.Items(pos).Remove()
End If
Next
Me.Cursor = Cursors.Default
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
【问题讨论】:
-
@HansPassant 我正在使用 VB.net
-
.NET 文档不关心语言。查看该页面的右上角,“下载”按钮下方。点击`>`并选择vb.net
-
通过非可视组件进行过滤可能会好得多,然后使用列表框之类的东西来显示结果。列表框中显示的数据的来源是什么?