Índice de la fila actualmente seleccionada en DataGridView

Es así de simple. ¿Cómo obtengo el índice de la Row seleccionada actualmente de un DataGridView ? No quiero el objeto Row , quiero el índice (0 .. n).

Existe la propiedad RowIndex para la propiedad CurrentCell para DataGridView.

 datagridview.CurrentCell.RowIndex 

Maneje el evento SelectionChanged y encuentre el índice de la fila seleccionada como se indica arriba.

Use la propiedad Index en la colección SelectedRows de su DGV:

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

O si desea utilizar LINQ y obtener el índice de todas las filas seleccionadas, puede hacer:

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

Aquí encontrarás todo sobre datagridview C # datagridview tutorial

Lynda

intenta esto, funcionará … te dará el índice del índice de fila seleccionado …

 int rowindex = dataGridView1.CurrentRow.Index; MessageBox.Show(rowindex.ToString()); 

prueba esto

 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 } 

Pruebe DataGridView.CurrentCellAddress .

Devuelve: un punto que representa los índices de fila y columna de la celda actualmente activa.

EG Seleccione la primera columna y la quinta fila, y obtendrá de regreso: Punto (X = 1, Y = 5)

Intentalo:

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

Espero que te ayude.

Modifiqué la respuesta de @JayRiggs, y esto funciona. Necesita el if porque a veces las SelectedRows pueden estar vacías, por lo que la operación de índice emitirá una excepción.

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

Puedes probar este código:

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

Utilicé si se hace clic en obtener valor de fila:

 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 } 

Pruebe lo siguiente:

 int myIndex = MyDataGrid.SelectedIndex; 

Esto dará el índice de la fila que está seleccionada actualmente.

Espero que esto ayude