Bonjour,
Je ne parviens pas à résoudre un problème de recherche dans un DatagridView.
Alors voilà, j'ai un Datagrid qui m'affiche les données venant d'une base de donnée locale (un fichier .mdf).
J'ai placé un TextBox et un Bouton de recherche afin de mettre en évidence le texte recherché à chaque fois qu'il le trouve dans le Datagrid, quelque soit la colonne.
Lorsque j'indique une valeur dans le champ de texte et que je lance la recherche, toutes les cellules contenant le texte recherché sont bien sélectionnées.
Par contre, j'ai également prévu le fait de ne pas trouver la valeur et de l'indiquer avec un message, mais cela ne fonctionne pas.
Après de longues recherches, j'ai fini par comprendre que mon script finissait dans le "Catch ex As Exception" à cause de la dernière ligne du Datagrid qui est vide.
J'ai tenté de passer par des conditions supplémentaires, comme la fonction While afin de ne pas aller à cette ligne vide mais cela ne marche pas.
Quelqu'un pourrait-il m'aider ?
Voici mon code :
Code VB-NET : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click Try DataGridView1.ClearSelection() Dim Trouv As String Trouv = 0 'je ne sais si il y a une meilleure methode que cette variable "Trouv" pour gérer la recherche For Each myRow As DataGridViewRow In DataGridView1.Rows For Each myCell As DataGridViewCell In myRow.Cells If InStr(myCell.Value.ToString, TextBox4.Text) Then myCell.Selected = True Trouv = 1 End If Next Next 'Apparemment n'arrive pas à la ligne suivante car sortie du Try ! TextBox4.Text = "" If Trouv = 0 Then MessageBox.Show("Valeur non trouvée") End If Catch ex As Exception Exit Sub End Try TextBox4.Text = "" End Sub
Partager