Vb.net 如何将datagridview中的第二个选定行传递给textbox?

Vb.net 如何将datagridview中的第二个选定行传递给textbox?,vb.net,winforms,datagridview,Vb.net,Winforms,Datagridview,如何将datagridview中的第二个选定行传递给textboxt。我只知道如何把第一个数据。如何将第二个选择传递到文本框 Dim i As Integer i = DataGridView2.SelectedRows(0).Index Me.txtEmployeeID.Text = DataGridView2.Item(0, i).Value 你可以用这个代码它对我有用 Dim test As String = DataGridView1.SelectedRow

如何将datagridview中的第二个选定行传递给textboxt。我只知道如何把第一个数据。如何将第二个选择传递到文本框

    Dim i As Integer

    i = DataGridView2.SelectedRows(0).Index

    Me.txtEmployeeID.Text = DataGridView2.Item(0, i).Value

你可以用这个代码它对我有用

Dim test As String = DataGridView1.SelectedRows(0).Cells(2).Value.ToString
您只需更改
.cell(此处写入单元格的索引值)


然后您可以使用字符串值填充文本框

尝试使用以下选项:

Dim secondRow as integer = 0

Private Sub DataGridView2_CellContentClick(sender As Object, e As DataGridViewCellEventArgs) Handles DataGridView2.CellClick
    'assuming that by second selected row, you mean the row after the selected row
    secondRow = e.RowIndex + 1
End Sub

Private Sub RowToTextBox()
    Try
        For i = 0 to DataGridView2.ColumnCount - 1
            txtEmployeeID.Text &= DataGridView2.Item(i, secondRow)
        Next
    Catch ex as Exception
        MsgBox("You have selected the final row")
    End Try
End Sub

我不认为
Me.
在引用同一表单中的文本框时是必需的。

由于您不知道用户将选择多少行,我认为循环认为SelectedRows集合可能有效。我使用Name列是因为我的网格中正好有Name列。您可以将值添加到列表框,而不是MessageBox

Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
    For Each GridRow As DataGridViewRow In DataGridView1.SelectedRows
        MessageBox.Show($"Value is {GridRow.Cells("Name").Value}")
    Next
End Sub

代码中的哪一行选择了第一行?您需要在此处进行更改以选择第2个。i=DataGridView2.SelectedRows(0)。是否为该部分编制索引?如果我错了,请纠正我。尝试一下,看看会发生什么。当我将0更改为1时,不会发生任何事情。您正在将DaraGridView项集合中的值分配到文本框中。作业应该来自SelectedRows集合。她询问的是第二个选定行,而不是单元格。因此,它应该是
DataGridView.SelectedRows(1).Cells(desiredIndex).Value.ToString
。当然,需要输入,例如,
Try…Catch…End Try
block或其他方法,以检查是否有多个选定行。或者,也许,她需要第二个,在选定行之后的下一个。谁知道呢,这个问题有点不清楚。如果你只是为了测试而制作一个应用程序,你可以看到它与0一起工作,即使是因为存在选定的行。如果你想处理固定的行和列,那么只需将selectedrow更改为row only for me,它就可以正常工作。这不会给出第二个选定的行。