Получение номера строки в DataGridView
Как получить номер строки ячейки DataGridView? В частности, если пользователь выбрал одну ячейку, как вы можете получить этот номер строки? Он должен получить доступ к определенной ячейке на основе того, что пользователь выбрал.
Я знаю, что метод RemoveAt можно использовать для удаления в фокусе,но вы не можете получить номер строки в фокусе?
Спасибо за помощь!
4 ответов
вы можете просто использовать параметр rowindex на текущая ячейка:
var row = dataGridView1.CurrentCell.RowIndex;
этот работает нормально .
Private Sub DataGridView1_RowPrePaint(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewRowPrePaintEventArgs) Handles DataGridView1.RowPrePaint
If e.RowIndex >= 0 Then
Me.DataGridView1.Rows(e.RowIndex).Cells(0).Value = e.RowIndex + 1
End If
End Sub
Это почти то же самое, но вы также можете использовать это решение:
var row = dataGridView1.CurrentRow.Index
другой способ, Если вам нужно отслеживать взаимодействие пользователя с DataGridView: В моем случае есть дополнительная обработка в некоторых общих функциях, которые используют Me.I_SelCol и меня.I_selrow столбец и координаты строк, но я не показал это, потому что это не относится к OP.
С наилучшими пожеланиями, Роб!--2-->
Private Sub I_DataGridView_CurrentCellChanged(sender As Object, e As EventArgs) Handles I_DataGridView.CurrentCellChanged
If Me.I_DataGridView.CurrentCellAddress.X < 0 Or Me.I_DataGridView.CurrentCellAddress.Y < 0 Then Exit Sub
' The Windows Me.I_DataGridView object will have already deselected the current cell and selected the
' new cell as per user navigation using mouse or cursor keys. We just need to store the current
' co-ordinates for the currently selected cell.
Me.I_SelCol = Me.I_DataGridView.CurrentCellAddress.X
Me.I_SelRow = Me.I_DataGridView.CurrentCellAddress.Y
Exit Sub