VB.Net Récupérer l'info d'une ligne sélectionner dans un DataGridView

cs_JeffC1977 Messages postés 928 Date d'inscription vendredi 10 novembre 2000 Statut Membre Dernière intervention 23 septembre 2023 - 18 nov. 2009 à 14:06
cs_MagDix Messages postés 531 Date d'inscription lundi 5 juin 2006 Statut Membre Dernière intervention 6 octobre 2012 - 18 nov. 2009 à 17:07
Bonjour à tous

Je cherche un moyen de récupérer l'info d'une cellule d'une ligne sélectionnée dans un DataGridView.

 DataGridView..SelectedRows.???????.Cells(7).Value()




Merci d'avance

4 réponses

cboulas Messages postés 2641 Date d'inscription mercredi 2 juin 2004 Statut Membre Dernière intervention 8 janvier 2014 16
18 nov. 2009 à 14:46
salut,

DataGridView..SelectedRows(0).Cells(7).Value()


l'id 0 te renvoi la 1ère ligne sélectionnée

Chris...
- La vérité n'est pas ailleurs, elle est sous le nez de chacun, quelques mouvements neuronale permettent de l'entrevoir -
MCPD (webform-winform) / MCSA / MCDST / MCT
0
cs_MagDix Messages postés 531 Date d'inscription lundi 5 juin 2006 Statut Membre Dernière intervention 6 octobre 2012 1
18 nov. 2009 à 15:25
Salut merci beaucoup...
Mais j'arrive à un problème...

Dans mon datagridview, j'ai 8 colonnes et l'info que je veux récupérer se retrouve dans la dernière colonnes (donc Cells = 7)

Voici le code que j'ai dans ma procédure de mon bouton...

If PlusieursLignes = False Then
   Dim intCle As Integer
   intCle = DataGridView.SelectedRows(0).Cells(7).Value() 
End If


J'ai juste cela et ca me donne l'erreur:
L'index était hors limites. Il ne doit pas être négatif et doit être inférieur à la taille de la collection.
Nom du paramètre : index


Mon bug peut-il venir d'ailleur??

Je déamrre mon prog... Je sélectionne une ligne de mon datagridview et je clique sur mon bouton et hop... l'erreur...


Merci de ton aide c'est très apprécié
0
cboulas Messages postés 2641 Date d'inscription mercredi 2 juin 2004 Statut Membre Dernière intervention 8 janvier 2014 16
18 nov. 2009 à 15:57
Salut, j'ai pu reproduire ton problème, regarde mon code ci-dessous :

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim dt As New DataTable()
        dt.Columns.Add(New DataColumn("A"))
        dt.Columns.Add(New DataColumn("B"))
        dt.Columns.Add(New DataColumn("C"))
        dt.Columns.Add(New DataColumn("D"))
        dt.Columns.Add(New DataColumn("E"))
        dt.Columns.Add(New DataColumn("F"))
        dt.Columns.Add(New DataColumn("G"))
        dt.Columns.Add(New DataColumn("H"))

        dt.Rows.Add(dt.NewRow())
        dt.Rows.Add(dt.NewRow())
        dt.Rows.Add(dt.NewRow())
        dt.Rows.Add(dt.NewRow())

        DGView.AutoGenerateColumns = False
        DGView.SelectionMode = DataGridViewSelectionMode.FullRowSelect
    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim a As Object = DGView.SelectedRows(0).Cells(7).Value
    End Sub



J'ai obtenu la même erreur en ne paramètrant pas le SelectionMde à FullRowSelect

Chris...
- La vérité n'est pas ailleurs, elle est sous le nez de chacun, quelques mouvements neuronale permettent de l'entrevoir -
MCPD (webform-winform) / MCSA / MCDST / MCT
0
cs_MagDix Messages postés 531 Date d'inscription lundi 5 juin 2006 Statut Membre Dernière intervention 6 octobre 2012 1
18 nov. 2009 à 17:07
Rebonjour..

Le fait d'ajouter
DGView.SelectionMode = DataGridViewSelectionMode.FullRowSelect
dans le load fait effectivement fonctionner la sélection de la ligne mais le résultat est comme si la ligne sélectionné était la ligne 1

Dans les fait, j'ai besoin de récupérer la clé primaire de mon fichier Acces qui est afficher dans mon datagridview.
Je sélectionne une ligne qui a dans la colonne #8 (la colonne Cle) une valuer de 180 et j'arrive à une valeur de 1. IntCle vaut 1.

De plus, si l'utilisateur veut sélectionner plus d'une colonne le code ne fonctionne plus.

Idée et si tu as le temps....
aimerais-tu avoir mon code pour voir ce que je veux dire....



Merci d'avance
0
Rejoignez-nous