Rechercher valeur dans une listview [Résolu]

cs_lilj 205 Messages postés dimanche 13 décembre 2009Date d'inscription 1 avril 2012 Dernière intervention - 16 nov. 2010 à 17:17 - Dernière réponse : cs_lilj 205 Messages postés dimanche 13 décembre 2009Date d'inscription 1 avril 2012 Dernière intervention
- 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
cs_Le Pivert 5463 Messages postés jeudi 13 septembre 2007Date d'inscriptionContributeurStatut 23 octobre 2018 Dernière intervention - 17 nov. 2010 à 08:36
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

Merci cs_Le Pivert 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 101 internautes ce mois-ci

Commenter la réponse de cs_Le Pivert
cs_lilj 205 Messages postés dimanche 13 décembre 2009Date d'inscription 1 avril 2012 Dernière intervention - 17 nov. 2010 à 13:23
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.