2009-07-07 6 views
2

Tout d'abord, j'ai trouvé un similar question ici, mais je ne comprends pas comment cela fonctionne, et je ne suis pas à l'aise pour répondre à une question vieille de quelques mois.VB Obtention d'un objet à partir de la ligne DataGridView

J'ai un contrôle datagridview et sa propriété DataSource est définie sur un objet de type List.

Question: J'essaie de comprendre comment référencer l'objet réel d'une ligne sélectionnée afin que je puisse afficher des données supplémentaires sur cet objet.

J'ai l'événement SelectionChanged connecté à partir de la vue DataGrid. L'objet est une référence à la ligne/ordinateur sélectionné sur la DGV.

Private Sub LabUsersList_SelectionChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles uxLabUsersList.SelectionChanged 
    Dim selectedComputer = Me.uxLabUsersList.SelectedRows(0) 
End Sub 

Mise à jour: Je recherche l'objet sous-jacent de l'élément de liste, pas l'élément de liste (DataSource).

Merci à l'avance pour l'aide :)

+0

Voulez-vous dire que vous voulez que l'élément de la liste qui a été DataBound à la ligne>? –

+0

non, l'objet sous-jacent de l'élément list. J'ai compris à partir de cette autre question comment référencer l'élément de liste. – Zack

Répondre

6

Une fois que vous avez la collection de SelectedRows (chaque élément de la collection est un obect de DataGridViewRow), vous pouvez obtenir les données sous-jacentes élément lié en utilisant la propriété DataBoundItem pour chaque ligne .

Dans votre cas, procédez comme suit:

Private Sub LabUsersList_SelectionChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles uxLabUsersList.SelectionChanged  
    Dim selectedComputer = Me.uxLabUsersList.SelectedRows(0).DataBoundItem 
End Sub 
Questions connexes