Это так просто.Как получить индекс текущего выбранного Row из DataGridView?Я не хочу объект Row, я хочу индекс (0 .. n).
Row
DataGridView
Существует свойство RowIndex для свойства CurrentCell для DataGridView.
RowIndex
CurrentCell
datagridview.CurrentCell.RowIndex
Обработка SelectionChanged событие и найдите индекс выбранной строки, как указано выше.
SelectionChanged
Используйте свойство Index в коллекции SelectedRows вашей DGV:
int index = yourDGV.SelectedRows[0].Index;
dataGridView1.SelectedRows[0].Index;
Или, если вы хотите использовать LINQ и получить индекс всех выбранных строк, вы можете сделать:
dataGridView1.SelectedRows.Select(r => r.Index);
Здесь вы найдете все о datagridview C # учебник datagridview
Линды
попробуйте это будет работать ... он даст вам индекс выбранной строки ...
int rowindex = dataGridView1.CurrentRow.Index; MessageBox.Show(rowindex.ToString());
попробуйте
bool flag = dg1.CurrentRow.Selected; if(flag) { /// datagridview row is selected in datagridview rowselect selection mode } else { /// no row is selected or last empty row is selected }
Попробуйте:
int rc=dgvDataRc.CurrentCell.RowIndex;** //for find the row index number MessageBox.Show("Current Row Index is = " + rc.ToString());
Надеюсь, это вам поможет.
Я изменил ответ @JayRiggs, и это работает.Вам нужен if, потому что иногда SelectedRows могут быть пустыми, поэтому операция индекса вызовет исключение.
if
Попробуйте DataGridView.CurrentCellAddress .
Возвращает: Точка, представляющая индексы строки и столбца текущей активной ячейки.
например. Выберите первый столбец и пятый ряд, и вы вернетесь: Точка (X = 1, Y = 5)
Я использовал, если щелкнуть значение строки get:
private void dataGridView_Product_CellClick(object sender, DataGridViewCellEventArgs e){ int rowIndex; //rowIndex = e.RowIndex; //Option 1 //rowIndex= dataGridView_Product.CurrentCell.RowIndex; //Option 2 rowIndex = dataGridView_Product.CurrentRow.Index; //Option 3 }