Recherche listview1

hacker591 Messages postés 34 Date d'inscription mardi 10 juin 2014 Statut Membre Dernière intervention 26 janvier 2022 - 26 nov. 2014 à 08:29
cs_ShayW Messages postés 3253 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 - 28 nov. 2014 à 14:47
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

ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
26 nov. 2014 à 09:02
Bonjour,
utiliser la propriété TopItem.
0
hacker591 Messages postés 34 Date d'inscription mardi 10 juin 2014 Statut Membre Dernière intervention 26 janvier 2022
26 nov. 2014 à 09:21
bonjour, ucfoutu

j'ai pas pas dans Propriété TopItem
comment l'écrire avec mon code? Merci
0
cs_ShayW Messages postés 3253 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 57
26 nov. 2014 à 10:19
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é ?
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
Modifié par ucfoutu le 26/11/2014 à 11:18
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
hacker591 Messages postés 34 Date d'inscription mardi 10 juin 2014 Statut Membre Dernière intervention 26 janvier 2022
28 nov. 2014 à 08:57
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
0
cs_ShayW Messages postés 3253 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 57
28 nov. 2014 à 14:47
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
0
Rejoignez-nous