如何使用搜索按钮和文本框将结果显示到列表视图
How to display the result using search button and textbox to listview
我正在将搜索按钮编码为列表视图并仅显示结果数据
Private Sub Command3_Click()
Dim itmx As ListItem
Set itmx = Listview1.FindItem(Text3.Text, lvwText, , lvwPartial)
If itmx Is Nothing Then
MsgBox "record not found", vbCritical
Else
Listview1.ListItems(itmx.Index).Selected = True
Listview1.SetFocus
End If
End Sub
我希望结果只显示我在文本框中搜索的数据,上面的代码只突出显示了列表视图中的行。
此代码将 select ListView 中的多个项目与您的搜索条件匹配,并删除不匹配的项目:
Private Sub Command3_Click()
Dim itmx As ListItem
Dim iIndex As Integer
Dim iRecordsFound As Integer
Dim fMultiSelect As Boolean
' Store state of ListView's MultiSelect property and set it to True
fMultiSelect = ListView1.MultiSelect
ListView1.MultiSelect = True
' Deselect any selected items
For iIndex = 1 To ListView1.ListItems.Count
ListView1.ListItems.Item(iIndex).Selected = False
Next
' Initialize variables
iIndex = 1
iRecordsFound = 0
Do While iIndex > 0 And iIndex <= ListView1.ListItems.Count
Set itmx = ListView1.FindItem(Text3.Text, lvwText, iIndex, lvwPartial)
If itmx Is Nothing Then
iIndex = 0
Else
itmx.Selected = True
iIndex = itmx.Index + 1
iRecordsFound = iRecordsFound + 1
End If
Loop
' Delete unselected items
For iIndex = ListView1.ListItems.Count To 1 Step -1
If Not ListView1.ListItems.Item(iIndex).Selected Then
ListView1.ListItems.Remove iIndex
End If
Next
If iRecordsFound = 0 Then
MsgBox "No records found", vbCritical
Else
MsgBox iRecordsFound & " records found", vbInformation
End If
' Restore state of ListView's MultiSelect property
ListView1.MultiSelect = fMultiSelect
ListView1.SetFocus
End Sub
我正在将搜索按钮编码为列表视图并仅显示结果数据
Private Sub Command3_Click()
Dim itmx As ListItem
Set itmx = Listview1.FindItem(Text3.Text, lvwText, , lvwPartial)
If itmx Is Nothing Then
MsgBox "record not found", vbCritical
Else
Listview1.ListItems(itmx.Index).Selected = True
Listview1.SetFocus
End If
End Sub
我希望结果只显示我在文本框中搜索的数据,上面的代码只突出显示了列表视图中的行。
此代码将 select ListView 中的多个项目与您的搜索条件匹配,并删除不匹配的项目:
Private Sub Command3_Click()
Dim itmx As ListItem
Dim iIndex As Integer
Dim iRecordsFound As Integer
Dim fMultiSelect As Boolean
' Store state of ListView's MultiSelect property and set it to True
fMultiSelect = ListView1.MultiSelect
ListView1.MultiSelect = True
' Deselect any selected items
For iIndex = 1 To ListView1.ListItems.Count
ListView1.ListItems.Item(iIndex).Selected = False
Next
' Initialize variables
iIndex = 1
iRecordsFound = 0
Do While iIndex > 0 And iIndex <= ListView1.ListItems.Count
Set itmx = ListView1.FindItem(Text3.Text, lvwText, iIndex, lvwPartial)
If itmx Is Nothing Then
iIndex = 0
Else
itmx.Selected = True
iIndex = itmx.Index + 1
iRecordsFound = iRecordsFound + 1
End If
Loop
' Delete unselected items
For iIndex = ListView1.ListItems.Count To 1 Step -1
If Not ListView1.ListItems.Item(iIndex).Selected Then
ListView1.ListItems.Remove iIndex
End If
Next
If iRecordsFound = 0 Then
MsgBox "No records found", vbCritical
Else
MsgBox iRecordsFound & " records found", vbInformation
End If
' Restore state of ListView's MultiSelect property
ListView1.MultiSelect = fMultiSelect
ListView1.SetFocus
End Sub