Rechercher valeur dans une listview [Résolu]

Messages postés
205
Date d'inscription
dimanche 13 décembre 2009
Dernière intervention
1 avril 2012
- - Dernière réponse : cs_lilj
Messages postés
205
Date d'inscription
dimanche 13 décembre 2009
Dernière intervention
1 avril 2012
- 17 nov. 2010 à 13:23
bonjour,
j'ai cherché un peu partout une méthode (en VB 2010) permettant d'indiquer si une valeur est présente dans une listview... mais je n'ai rien trouvé..

Ma listview possède 3 colonnes et cette méthodes doit me permettre d'indiquer si une valeur est présente dans l'une des cellules de la listview. j'ai essayé un .findwithtext mais rien n'y fait.

Merci.
Afficher la suite 

Votre réponse

2 réponses

Meilleure réponse
Messages postés
5622
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
18 décembre 2018
3
Merci
Bonjour,
Voici un code de recherche , mais qui ne marche que sur la 1ère colonne:

 'rechercher texte
    Private lastSearch As String
    Private lastIndex As Integer = -1


 Dim searchText As String = txtSearch.Text.Trim()
        Dim lvItem As ListViewItem = Nothing
        'ne s'embarrasse pas de recherches vides
        If searchText = "" Then
            Return
        End If
              'nettoyer items sélectionnés
        If (ListView1.SelectedItems.Count > 0) Then
            ListView1.SelectedItems(0).Selected = False
        End If
        'vérifier si le lastSearch est le même que l'actuel
        'Vérifiez également si nous avons atteint le dernier élément
        'a  la deuxième vérification, lastIndex <listView.Items.Count - 1, fait en sorte de ne pas
        'aller au-delà des indices de la listview
        'la façon dont elle est maintenant, si nous atteignons le dernier élément de la recherche il va revenir au
        'premier point
        If searchText = lastSearch And lastIndex < ListView1.Items.Count - 1 Then
            'Nous avons besoin de continuer là où nous nous sommes quittés,
            ' recherche 1 devant où nous l'avons trouvé;», la position du même nom
            lvItem = ListView1.FindItemWithText(searchText, False, lastIndex + 1)
        Else
            'lancer la recherche  depuis le début
            lvItem = ListView1.FindItemWithText(searchText, False, 0)
        End If
        lastSearch = searchText
        If Not (lvItem Is Nothing) Then
            lastIndex = lvItem.Index
            ListView1.Focus()
            lvItem.Selected = True
            ListView1.TopItem = lvItem
        End If

Pour plus de détail voir ce programme:
http://www.vbfrance.com/codes/SAUVEGARDER_DERNIERES_MODIFICATIONS_52372.aspx
@+ Le Pivert

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 105 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_Le Pivert
Messages postés
205
Date d'inscription
dimanche 13 décembre 2009
Dernière intervention
1 avril 2012
0
Merci
merci beaucoup !!
Commenter la réponse de cs_lilj

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.