Это так просто. Как получить индекс текущего выбранного Row
параметра DataGridView
? Мне не нужен объект Row
, мне нужен индекс (0.. n).
Индекс выбранной строки в DataGridView
Ответ 1
Существует свойство RowIndex
для CurrentCell
для DataGridView.
datagridview.CurrentCell.RowIndex
Обработайте событие SelectionChanged
и найдите индекс выбранной строки, как указано выше.
Ответ 2
Используйте свойство Index в вашей коллекции DGV SelectedRows:
int index = yourDGV.SelectedRows[0].Index;
Ответ 3
dataGridView1.SelectedRows[0].Index;
Или если вы хотите использовать LINQ и получить индекс всех выбранных строк, вы можете сделать:
dataGridView1.SelectedRows.Select(r => r.Index);
Ответ 4
dataGridView1.SelectedRows[0].Index;
Здесь вы найдете все о datagridview С# datagridview учебник
Линда
Ответ 5
попробуйте это, он будет работать... он даст вам индекс выбранного индекса строки...
int rowindex = dataGridView1.CurrentRow.Index;
MessageBox.Show(rowindex.ToString());
Ответ 6
попробуйте это
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
}
Ответ 7
Попробуйте DataGridView.CurrentCellAddress.
Возвращает: точка, представляющая индексы строки и столбца текущей активной ячейки.
например. Выберите первый столбец и пятую строку, и вы вернетесь: Point (X = 1, Y = 5)
Ответ 8
Попробуйте:
int rc=dgvDataRc.CurrentCell.RowIndex;** //for find the row index number
MessageBox.Show("Current Row Index is = " + rc.ToString());
Надеюсь, это поможет вам.
Ответ 9
Я изменил ответ @JayRiggs, и это работает. Вам нужно if
, потому что иногда SelectedRows может быть пустым, поэтому операция индекса генерирует исключение.
if (yourDGV.SelectedRows.Count>0){
int index = yourDGV.SelectedRows[0].Index;
}
Ответ 10
Вы можете попробовать этот код:
int columnIndex = dataGridView.CurrentCell.ColumnIndex;
int rowIndex = dataGridView.CurrentCell.RowIndex;
Ответ 11
Я использовал, если щелкнуть значение строки:
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
}
Ответ 12
Попробуйте следующее:
int myIndex = MyDataGrid.SelectedIndex;
Это даст индекс выбранной строки.
Надеюсь, что это поможет