Recherche listview1

Signaler
Messages postés
31
Date d'inscription
mardi 10 juin 2014
Statut
Membre
Dernière intervention
14 août 2017
-
Messages postés
3258
Date d'inscription
jeudi 26 novembre 2009
Statut
Membre
Dernière intervention
3 décembre 2019
-
Bonjour, voici 3 image :
1)


2)


3)


Mon probléme comment afficher le code a la premier ligne(voir photo 3) une fois trouver.

mon code :
Private Sub TextBox1_TextChanged(sender As System.Object, e As System.EventArgs) Handles TextBox1.TextChanged
        TextBox1.Text = TextBox1.Text.Replace(" ", "")
        For Each lv As ListViewItem In ListView1.Items
            If TextBox1.Text = "" Then
                lv.ForeColor = Color.Black
            Else
                If Microsoft.VisualBasic.Left(lv.SubItems(0).Text, TextBox1.Text.Length) = TextBox1.Text Then
                    lv.ForeColor = Color.Red
                Else
                    lv.ForeColor = Color.White
                End If
            End If
        Next
    End Sub


Pouvez-vous m'aider afficher le code dans listview1 à la premier ligne une fois trouver? Merci

6 réponses

Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
239
Bonjour,
utiliser la propriété TopItem.
Messages postés
31
Date d'inscription
mardi 10 juin 2014
Statut
Membre
Dernière intervention
14 août 2017

bonjour, ucfoutu

j'ai pas pas dans Propriété TopItem
comment l'écrire avec mon code? Merci
Messages postés
3258
Date d'inscription
jeudi 26 novembre 2009
Statut
Membre
Dernière intervention
3 décembre 2019
52
Bonjour
Pas clair
le listview affiche une liste de string
tu cherches dans la liste tous les strings qui contient le string que
tu recherches ex A5660 comme tu en as plusieurs tu les marques
en une autre couleur
ensuite tu choisis un item parmis les strings obtenu et le mettre à
la premiere ligne ? et le string qui est à la premiere ligne où va
t'il être placé ?
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
239
j'ai pas pas dans Propriété TopItem

Qu'est alors ceci ? :
http://msdn.microsoft.com/en-us/library/system.windows.forms.listview.topitem%28v=vs.110%29.aspx
A moins que la version de ton FrameWork soit antérieure à 2.0 !

Tu as également la possibilité de choisir l'index que tu attribues à un article lors de son insertion. A lire :
http://msdn.microsoft.com/en-us/library/aa983548%28v=vs.71%29.aspx
________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviend
Messages postés
31
Date d'inscription
mardi 10 juin 2014
Statut
Membre
Dernière intervention
14 août 2017

bonjour, voici un exemple que je voulais faire :
Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
        ListView1.Items.Add("A56601CB30510000")
        ListView1.Items.Add("A56602CB30510000")
        ListView1.Items.Add("A56603CB30510000")
        ListView1.Items.Add("A56604CB30510000")
        ListView1.Items.Add("BF2EA6A46A160000")
        ListView1.Items.Add("A78D4166193C0000")
        ListView1.Items.Add("59504DAA96298000")
        ListView1.Items.Add("D424EC43B9C93000")
    End Sub

    Private Sub TextBox1_TextChanged(sender As System.Object, e As System.EventArgs) Handles TextBox1.TextChanged
        TextBox1.Text = TextBox1.Text.Replace(" ", "")
        For index As Integer = ListView1.Items.Count - 1 To 0 Step -1
            If TextBox1.Text = "" Then
                ListView1.Items(index).ForeColor = Color.Black
            Else
                If Microsoft.VisualBasic.Left(ListView1.Items(index).SubItems(0).Text, TextBox1.Text.Length) = TextBox1.Text Then
                    ListView1.Items(index).ForeColor = Color.Red
                Else
                    ListView1.Items.RemoveAt(index)
                End If
            End If
        Next index
    End Sub


comment faire sens utiliser removeAT ? Merci
Messages postés
3258
Date d'inscription
jeudi 26 novembre 2009
Statut
Membre
Dernière intervention
3 décembre 2019
52
Public Class Form1
Private flagmark As Integer
Private flagfound As Boolean = False
Private Sub Form1_Load(sender As Object, e As System.EventArgs) Handles Me.Load
ListView1.Items.Add("A56601CB30510000")
ListView1.Items.Add("A56602CB30510000")
ListView1.Items.Add("A56603CB30510000")
ListView1.Items.Add("A56604CB30510000")
ListView1.Items.Add("BF2EA6A46A160000")
ListView1.Items.Add("A78D4166193C0000")
ListView1.Items.Add("59504DAA96298000")
ListView1.Items.Add("D424EC43B9C93000")

End Sub

Private Sub TextBox1_TextChanged(sender As Object, e As System.EventArgs) Handles TextBox1.TextChanged
TextBox1.Text = TextBox1.Text.Replace(" ", "")
Dim count As Integer = 0
Dim mark As Integer
Dim str As String

For index As Integer = ListView1.Items.Count - 1 To 0 Step -1
If TextBox1.Text = "" Then
ListView1.Items(index).ForeColor = Color.Black
Else
If Microsoft.VisualBasic.Left(ListView1.Items(index).SubItems(0).Text, TextBox1.Text.Length) = TextBox1.Text Then
ListView1.Items(index).ForeColor = Color.Red
mark = index
count += 1
Else
ListView1.Items(index).ForeColor = Color.Transparent
End If
End If
Next
If count = 1 Then
If Not flagfound Then
flagmark = mark
End If
flagfound = True
str = ListView1.Items(mark).Text
ListView1.Items.RemoveAt(mark)
ListView1.Items.Insert(0, str)
ListView1.Items(0).ForeColor = Color.Red
End If
If DirectCast(sender, TextBox).Text = String.Empty AndAlso flagfound Then
str = ListView1.Items(0).Text
ListView1.Items(0).Text = ListView1.Items(1).Text
ListView1.Items.Insert(flagmark, str)
flagfound = False
End If
End Sub
End Class