hej! Hej, Tack Mikael!´Sökning i en listview
Behöver lite hjälp med en sökning i listview
Jag har en textbox som fungerar som sökfönster. Min önskan är att när jag skriver första bokstaven i textboxen skall motsvarande post visas i listviewn. Koden nedan löser detta. Men mitt problem är att textboxen tappar fokus vilket också framgår av koden nedan eftersom Fokus ges till Listviewn. Jag har provat att sätta tillbaka fokusen till textboxen men då försvinner markeringen i listviewn. Jag vill direkt kunna skriva nästa bokstav i textboxen och då skall marekringen visa den raden
Är det någon som har en lösning på problemet
<code>
Private Sub txtQuickSearch_Change()
Set xItem = FindItem(ListView1.ListItems, txtQuickSearch.Text)
If xItem Is Nothing Then
Else
xItem.EnsureVisible
xItem.Selected = True
ListView1.SetFocus
End If
ListView1.Refresh
'txtQuickSearch.SetFocus
End Sub
Private Function FindItem(ListItems As ListItems, Text As String) As ListItem
Dim Item As ListItem
Dim SubItem As ListSubItem
For Each Item In ListItems
If InStr(1, Item.Text, Text, vbTextCompare) Then
Set FindItem = Item
Exit Function
Else
For Each SubItem In Item.ListSubItems
If InStr(1, SubItem.Text, Text, vbTextCompare) Then
Set FindItem = Item
Exit Function
End If
Next
End If
Next
End Function
</code>Sv: ´Sökning i en listview
Prova att sätta ListView1.HideSelection = False, så visas markeringen fast listviewn inte har fokus.Sv:´Sökning i en listview
två tilläggs frågor.
1. Kan man ändar färgen på HideSelection
2. Hur gör jag för att kunna trycka på return tangenten när jag har hitta rätt post i listan, dvs jag skriver 'PLE' och då visas rätt rad, sedan vill jag kunna trycka på enter så skall raden visas i mina textboxar (Denna fråga löste jag)
/tyronne