'原创: 许仙; qq:19030300 主页:http://hot1kang1.126.com
'转载请保持信息的完整性 谢谢
'ListView控件的查找全部字段的方法
'--------------------------------------------------------------------------------
'lvwCtl 控件名
'blnHoldOfField 是否搜索整个 表
'--------------------------------------------------------------------------------
Private Sub LvwContrlFind(lvwCtl As MSComctlLib.ListView, _
Optional blnHoldOfField As Boolean = False)
Dim itmFound As ListItem
If lngLvwIndex = 0 Then lngLvwIndex = 1
If lngLvwIndex > lvwCtl.ListItems.Count Then
lngLvwIndex = lvwCtl.ListItems.Count
MsgBox "无匹配记录", , CurrentCompany
Exit Sub
End If
'先查第一个字段---------------------------------------------------------------------
Set itmFound = lvwCtl.FindItem(comFindContent, lvwText, lngLvwIndex&)
If itmFound Is Nothing Then
'没有配记录
Else
If blnHoldOfField = True Then
'所有字段时 只要查到就跳走
GoTo Success
Else
If LvwFieldMatchingCondition(lvwCtl.SelectedItem.Index) = True Then GoTo Success
End If
End If
'查子字段---------------------------------------------------------------------
Set itmFound = lvwCtl.FindItem(comFindContent, lvwSubItem, lngLvwIndex&)
If itmFound Is Nothing Then
Else
If blnHoldOfField = True Then
'所有字段时 只要查到就跳走
GoTo Success
Else
If LvwFieldMatchingCondition(lvwCtl.SelectedItem.Index) = True Then GoTo Success
End If
End If
MsgBox "无匹配记录", , CurrentCompany
Exit Sub
Success:
itmFound.EnsureVisible
itmFound.Selected = True
lvwCtl.SetFocus
lngLvwIndex = lvwCtl.SelectedItem.Index + 1
End Sub