VB从DataGridView行获取对象

Zac*_*ack 2 .net vb.net datagridview

首先,我在这里发现了一个类似的问题,但是不明白它是如何工作的,而且我不舒服地"碰撞"或回答几个月前的问题.

我有一个datagridview控件,它的DataSource属性设置为List类型对象.

问题:我正在试图弄清楚如何引用所选行的实际对象,以便我可以显示有关该对象的额外数据.

我从DataGrid视图中连接了SelectionChanged事件.该对象是对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
Run Code Online (Sandbox Code Playgroud)

更新:我正在从列表元素中寻找底层对象,而不是列表元素(DataSource).

在此先感谢您的帮助 :)

Rhy*_*nes 6

获得SelectedRows集合后(集合中的每个元素都是DataGridViewRow对象),您可以使用每行的DataBoundItem属性获取基础数据绑定项.

在您的情况下,请尝试以下操作:

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
Run Code Online (Sandbox Code Playgroud)