Индекс текущей выбранной строки в DataGridView



Это очень просто. Как мне получить индекс выбранного в данный момент Row на DataGridView? Я не хочу Row объект, я хочу индекс (0 .. северный.)

1722   12  

12 ответов:

есть RowIndex свойство CurrentCell свойства для элемента управления datagridview.

datagridview.CurrentCell.RowIndex

обработки SelectionChanged событие и найти индекс выбранной строки, как указано выше.

используйте свойство Index в коллекции SelectedRows вашего DGV:

int index = yourDGV.SelectedRows[0].Index;
dataGridView1.SelectedRows[0].Index;

или если вы хотите использовать LINQ и получить индекс всех выбранных строк, вы можете сделать:

dataGridView1.SelectedRows.Select(r => r.Index);
dataGridView1.SelectedRows[0].Index;

здесь вы найдете все о datagridview C# datagridview tutorial

Линда

попробуйте это он будет work...it даст вам индекс выбранного индекса строки...

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
}

попробовать DataGridView.CurrentCellAddress.

Returns: точка, представляющая индексы строк и столбцов текущей активной ячейки.

например, выберите первый столбец и пятую строку, и вы вернетесь: Point (X=1, Y=5 )

попробуй:

int rc=dgvDataRc.CurrentCell.RowIndex;** //for find the row index number
MessageBox.Show("Current Row Index is = " + rc.ToString());

Я надеюсь, что это поможет вам.

Я изменил ответ @JayRiggs, и это работает. Вам нужно if потому что иногда выбранные значения могут быть пустыми, поэтому операция индексирования вызовет исключение.

if (yourDGV.SelectedRows.Count>0){
    int index = yourDGV.SelectedRows[0].Index;
}

вы можете попробовать этот код :

int columnIndex = dataGridView.CurrentCell.ColumnIndex;
int rowIndex = dataGridView.CurrentCell.RowIndex;

Я если получить значение строки кнопки:

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
}

попробуйте следующее:

int myIndex = MyDataGrid.SelectedIndex;

это даст индекс строки, которая в данный момент выбрана.

надеюсь, что это помогает

Comments

    Ничего не найдено.