Listview row selecteren

Status
Niet open voor verdere reacties.

old Hippy

Gebruiker
Lid geworden
24 mei 2008
Berichten
911
Hallo allemaal
mijn vraag is hoe selecteer ik een row die voldoet aan de volgende voorwaarde.

het getal in een textbox is bij voorbeeld 1

in de Listview1 staat op ( ListView1.Items.Item(0).SubItems(8).Tekst) ook het getal 1.
dan moet deze row geselecteerd worden.

Met vriendelijke groet Old Hippy
 
ListView1.Items(0).Selected = true
of
ListView1.Items.Item(0).Selected = true

ik weet niet precies de VB syntax
 
Hi Bloodshed bedankt voor je reactie

Dit selecteert altijd op de eerste kolom maar de selectie moet op de kolom8 plaatsvinden waar het getal 1 staat.
 
Hoi,

Je kan er doorheen loopen:
[CPP]For i As Integer = 0 To ListBox1.Items.Count - 1 Step 1
If ListBox1.Items(i) = TextBox1.Text Then
ListBox1.SelectedIndex = i
End If
Next[/CPP]

Als er meerdere items zijn met dezelfde tekst, zal deze code de laatste selecteren.

MartinJM
 
Hi MartinJM dank voor de reactie

Helaas is dit voor een listbox ik gebruik een listview.

Old Hippy
 
Sorry, verkeerd gelezen...

Voor een listview kan je dit gebruiken:
[CPP]ListView1.Items.Find(TextBox1.Text, True)(0).Selected = True[/CPP]

Dit zal de eerste selecteren. Als je ze allemaal wil selecteren, dan zal je zoiets moeten gebruiken:
[CPP]Dim FoundItems As ListViewItem() = ListView1.Items.Find(TextBox1.Text, True)

For i As Integer = 0 To FoundItems.Count - 1 Step 1
FoundItems(i).Selected = True
Next[/CPP]

Ik heb deze codes niet geprobeerd....

MartinJM
 
Ha martinJM

Bij de eerste code de foutmelding (De index ligt buiten de matrixgrenzen.)
De tweede code doet niets?
 
Ik denk dat er dan niks is gevonden...
Je kan proberen met breakpoints erachter te komen hoe dat komt.

Anders kan je ook de code van mijn eerste post aanpassen voor de listview.
 
Dank Martin maar het wil niet werken ga morgen verder

Old Hippy
 
Ha MartinJM

ik heb het als volgt opgelost.

Code:
 Dim str As String = Trim(Textbox1.Text.ToLower)
        For i As Integer = 0 To ListView1.Items.Count - 1
            If ListView1.Items(i).SubItems(8).Text.ToLower.Contains(str) Then
                ListView1.Items(i).Selected = True
                ListView1.Items(i).EnsureVisible()
                ListView1.Select()
            End If
        Next

Groet en nogmaals bedankt Old Hippy
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan