Meilleur auteur de réponses
data gridview vb 2010 selection tete de colonne

Question
-
Bonsoir
toujours dans mon programme je me trouve devant un problème j’ai un datagridview avec deux rangées et le voudrais en sélectionnant un cellule avec la souris cliquer sur la tête de colonne correspondant et ouvrir deux listbox différentes j’ai fia tun code qui fonctionne mal pouvez vous m'aider voici mon datagrid et son code
merci de votre aide précieuse
voici le code qui fonctionne mal
Private Sub DataGridView1_ColumnHeaderMouseClick(sender As Object, e As System.Windows.Forms.DataGridViewCellMouseEventArgs) Handles DataGridView1.ColumnHeaderMouseClick ListBox1.Visible = True t = DataGridView1.Rows(0).Cells.Item(0).Value MsgBox("t=" & t)
pour le moment on affiche juste la valeur de la cellule sélectionnée avec la souris
Réponses
-
Bonjour, SIMONGEORGES,
La cause de l’erreur est cette ligne dans le code de la capture d’écran: For i = 0 To 3 . Testez l’extrait de code ci-dessus (qui contient une boucle de 0 à 1: For i = 0 To 1 ). Or, vous pouvez utiliser DataGridView1.Rows.Count - 2 sans tenir compte du nombre des lignes dans le DataGridView:
Private Sub DataGridView1_ColumnHeaderMouseClick(sender As Object, e As DataGridViewCellMouseEventArgs) Handles DataGridView1.ColumnHeaderMouseClick Dim s As String() = New String(DataGridView1.Rows.Count - 2) {} Dim res As String = "t=" Dim i As Integer For i = 0 To DataGridView1.Rows.Count - 2 s(i) = DataGridView1.Rows(i).Cells.Item(e.ColumnIndex).Value.ToString res = res & s(i) & ";" Next MsgBox(res) End Sub
Cordialement,
Dimitar
- Modifié Dimitar DenkovMicrosoft contingent staff, Moderator mardi 2 février 2016 10:41
- Marqué comme réponse SIMONGEORGES mardi 2 février 2016 16:10
Toutes les réponses
-
Bonjour, SIMONGEORGES,
Pour lire les deux valeurs dans la colonne respective, testez l’extrait du code suivant:
Private Sub DataGridView1_ColumnHeaderMouseClick(sender As Object, e As DataGridViewCellMouseEventArgs) Handles DataGridView1.ColumnHeaderMouseClick Dim s As String() = New String(1) {} Dim res As String = "t=" Dim i As Integer For i = 0 To 1 s(i) = DataGridView1.Rows(i).Cells.Item(e.ColumnIndex).Value.ToString res = res & s(i) & ";" Next MsgBox(res) End Sub
Je vous remercie par avance de votre retour.
Cordialement,
Dimitar
- Modifié Dimitar DenkovMicrosoft contingent staff, Moderator lundi 1 février 2016 13:58
-
-
Bonjour, SIMONGEORGES,
Cette erreur survient parce que vous avez deux lignes dans le Datagridview (Rows(0) et Rows(1)). C’est pourquoi je vous invite à utiliser 1 comme la valeur de fin de boucle: For i = 0 To 1.
Cordialement,
Dimitar
- Modifié Dimitar DenkovMicrosoft contingent staff, Moderator mardi 2 février 2016 07:45
-
-
Bonjour, SIMONGEORGES,
La cause de l’erreur est cette ligne dans le code de la capture d’écran: For i = 0 To 3 . Testez l’extrait de code ci-dessus (qui contient une boucle de 0 à 1: For i = 0 To 1 ). Or, vous pouvez utiliser DataGridView1.Rows.Count - 2 sans tenir compte du nombre des lignes dans le DataGridView:
Private Sub DataGridView1_ColumnHeaderMouseClick(sender As Object, e As DataGridViewCellMouseEventArgs) Handles DataGridView1.ColumnHeaderMouseClick Dim s As String() = New String(DataGridView1.Rows.Count - 2) {} Dim res As String = "t=" Dim i As Integer For i = 0 To DataGridView1.Rows.Count - 2 s(i) = DataGridView1.Rows(i).Cells.Item(e.ColumnIndex).Value.ToString res = res & s(i) & ";" Next MsgBox(res) End Sub
Cordialement,
Dimitar
- Modifié Dimitar DenkovMicrosoft contingent staff, Moderator mardi 2 février 2016 10:41
- Marqué comme réponse SIMONGEORGES mardi 2 février 2016 16:10
-