我有这个数据网格视图:
现在,当双击第一行时,我希望将其所有数据保存在变量中,例如该字段name
应该以变量name
名First Name
a 出现,并且应该以另一个变量名出现fname
,依此类推。
我一直在尝试使用DataGridView1.CellContentDoubleClick
事件获取值,该属性称为SelectedCells
但智能感知没有向我提供有关如何获取该特定选定行中每一列的值的任何信息。
我有这个数据网格视图:
现在,当双击第一行时,我希望将其所有数据保存在变量中,例如该字段name
应该以变量name
名First Name
a 出现,并且应该以另一个变量名出现fname
,依此类推。
我一直在尝试使用DataGridView1.CellContentDoubleClick
事件获取值,该属性称为SelectedCells
但智能感知没有向我提供有关如何获取该特定选定行中每一列的值的任何信息。
要直接从 datagridview 获取数据,您可以执行以下操作:
Dim fName As String = String.Empty
Dim sName As String = String.Empty
Private Sub DataGridView1_CellContentDoubleClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellContentDoubleClick
If DataGridView1.SelectedRows.Count <> 0 Then
Dim row As DataGridViewRow = DataGridView1.SelectedRows(0)
fName = row.Cells("fNameColumnName").Value
sName = row.Cells("sNameColumnName").Value
End If
End Sub
但是,这不适用于设置为 true 的多选属性!
最后我得到了对我有用的答案,所以在这里分享:
Private Sub DataGridView1_CellContentClick_1(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellContentDoubleClick
frm_dashboard.lbl_pnum_text.Text = DataGridView1.SelectedRows(0).Cells(0).Value
frm_dashboard.lbl_pname_text.Text = DataGridView1.SelectedRows(0).Cells(2).Value + " " + DataGridView1.SelectedRows(0).Cells(1).Value
frm_dashboard.lbl_paddress_text.Text = DataGridView1.SelectedRows(0).Cells(4).Value
frm_dashboard.Enabled = True
Me.Hide()
End Sub