Se positionner sur une ligne précise dans un datagridview [Résolu]

Signaler
Messages postés
85
Date d'inscription
lundi 25 septembre 2006
Statut
Membre
Dernière intervention
18 décembre 2008
-
Sympa74
Messages postés
85
Date d'inscription
lundi 25 septembre 2006
Statut
Membre
Dernière intervention
18 décembre 2008
-
Bonsoir,

Voici mon problème.
Je recherche une occurence (le nom du client) dans un datagridview.
Je trouve l'occurence... je mets la ligne en surbrillance... mais je n'arrive pas à faire positionner le focus directement sur cette ligne.

Le problème est que lorsque la ligne trouvée n'est pas visible à l'écran (parce que le datagridview liste quelque 2500 lignes), je n'arrive pas à me positionner directement sur la ligne trouvée... et pourtant elle est trouvée et passé en surbrillance.

Quelqu'un à t'il une petite idée pour moi ? merci d'avance.

Dim I As Integer = 0 'variable de boucle
        Dim Achercher As String = TB_rechercher.Text ' le nom à chercher dans la liste
        ' la boucle recherche si l'occurence est trouvée dans la cellule 3 du datagridview
        ' si l'occurence est trouvée alors la ligne est sélectionnée et s'affiche en surbrillance
        ' la variable numvisucli récupère l'ID du client de manière à ouvrir la fiche détaillée dans un form

        For I = 0 To compteur
            If DataGridView1.Rows(I).Cells(3).Value = Achercher Then _            numvisucli DataGridView1.Rows(I).Cells(0).Value : DataGridView1.Rows(I).Selected True _
           : TB_rechercher.ResetText() : TB_rechercher.Refresh() : Exit Sub
        Next
        TB_rechercher.ResetText() : TB_rechercher.Refresh() : MsgBox("occurence non trouvée")
        TB_rechercher.Focus()

Je vous remercie les pros...

Philippe - Sympa 74
 

2 réponses

Messages postés
548
Date d'inscription
mercredi 28 juillet 2004
Statut
Membre
Dernière intervention
11 septembre 2013
2
je ne vois pas le endif, c ptet çà non ? car tu as plusieures instruction derrière le then.
Messages postés
85
Date d'inscription
lundi 25 septembre 2006
Statut
Membre
Dernière intervention
18 décembre 2008

Bonjour.. j'ai trouvé.
En fait la solution à ce problème est qu'il suffit de rajouter au code que j'ai communiqué l'instruction suivante :

DataGridView1.FirstDisplayedScrollingRowIndex = I

Cela peut servir à d'autres, car j'ai déjà vu passer cette même question sur le forum sans jamais de réponse à ce sujet.

Philippe - Sympa 74