Bonjour à tous,
Voila je dois créer une recherche dans un datagridview qui ira sélectionner une row.
Cette recherche devra s'effectuer dans un textbox où je saisie la/les premières lettres.
En fonction de la quantité des lettres saisies dans la textbox, la recherche s'affine dans le datagridview.
Par exemple :
MonDgv contien dans le colonne 2 des noms (martin, arthur, patrick, patrice, martine,...)
Si dans mon textbox je commence à saisir "mar", MonDgv selectionne la 1ere row(2) qui commence par "mar"...
Ainsi de suite.
1) Pour l'instant, j'ai fait une sub qui réalise un boucle (lit tout le dgv et compare le textbox avec le row(2).startwith... Si ok, la row trouvé se sélectionne et exit sub.
Je trouve ça un peu lourd en ressource, n'y aurait-il pas un autre moyen plus light ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged For Each row As DataGridViewRow In Lst_Depts.Rows If row.Cells(2).Value.ToString.StartsWith(TextBox1.Text) Then row.Selected = True Exit Sub End If Next End Sub
2) bien évidemment, il faudrai que la liste du dgv se recentre sur la sélection car mon dgv a plus de 200 lignes. Bon, là, aucune idée de comment faire... Si vous en avez une, je suis preneur.
Merci
Patrick
Partager