Hej! Antar att det var så här du menade :) hej!Lite hjälp med en funktion i en listview
Neda skrivna kod fungerar så att när jag skriver ett a som ex i txtQuickContact då söks denna rad upp i listviewn. Problemet är att den såker i alla kolumnerna. Det jag vill ha hjälp med är att bryta ut koden neda så att den bara söker i en viss kolumn ex kolumn 3.
Det ultimata vore att jag kunde klicka på kolumnhuvudet också söker den bara i den kolumn som är markerad.
Kan någon hjälpa mig med detta eller ge mig lite tips på hur detta skall gå till
/tyronne
<code>
Private Sub txtQuickContact_Change()
Set xItem = FindItem(ltwContact.ListItems, txtQuickContact.Text)
If xItem Is Nothing Then
Else
xItem.EnsureVisible
xItem.Selected = True
ltwContact.SetFocus
End If
ltwContact.Refresh
ltwContact.HideSelection = False
txtQuickContact.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: Lite hjälp med en funktion i en listview
Private Sub lvwContact_ColumnClick(ByVal ColumnHeader As MSComctlLib.ColumnHeader)
Dim Item As ListItem
Set Item = FindItem(lvwContact.ListItems, txtQuickContact.Text, ColumnHeader.Index)
End Sub
Private Function FindItem(ListItems As ListItems, Text As String, Col As Integer) As ListItem
Dim item As ListItem
Dim SubItem As ListSubItem
For Each item In ListItems
If InStr(1, item.SubItems(Col), Text, vbTextCompare) Then
Set FindItem = item
Exit Function
End If
Next
End Function
/Peter
Sv:Lite hjälp med en funktion i en listview
tack för hjälpen men jag får ett felmeddelande vid
<code>
If InStr(1, Item.SubItems(Col), Text, vbTextCompare) Then
</code>
Runtime err 308
meddelande säger invalid propertie value
Några förslag
/Tyronne