Es así de simple. ¿Cómo obtengo el índice del actualmente seleccionado de un DataGridView
? No quiero el objeto , quiero el índice (0 .. n).Índice de fila actualmente seleccionada en DataGridView
Respuesta
Existe la propiedad RowIndex
para la propiedad CurrentCell
para DataGridView.
datagridview.CurrentCell.RowIndex
controlar el evento SelectionChanged
y encontrar el índice de la fila seleccionada como anteriormente.
dataGridView1.SelectedRows[0].Index;
O si desea utilizar LINQ y obtener el índice de todas las filas seleccionadas, se podría hacer:
dataGridView1.SelectedRows.Select(r => r.Index);
útil (IndexOf todavía no era realmente "en mi radar"), pero rotonda desde que obtuvo la fila no es necesario. El método .Index es lo que estaba buscando. – ErikE
Usar la propiedad Index en su colección SelectedRows de DGV:
int index = yourDGV.SelectedRows[0].Index;
¿Crees que esto es mejor o DGV.CurrentCell.RowIndex? – ErikE
La celda actual puede no seleccionarse en algunos casos, por lo que esta es la mejor manera de hacerlo. – AbleArcher
@thethuthinnang cuando ha seleccionado ninguna fila, la solución de @JayRiggs lanzará el error de índice dos. Será mejor que lo envuelva con un 'if' –
Probar DataGridView.CurrentCellAddress.
Devoluciones: A Punto que representa los índices de filas y columnas de la celda actualmente activa.
E.G. Seleccione la primera columna y la quinta fila, y obtendrá: Punto (X = 1, Y = 5)
P.S. desde que pregunté por el índice de la fila, las cosas habrían sido menos complicadas en nuestra relación si hubiera dicho 'DataGridView.CurrentCellAddress.Y' ... :) – ErikE
Creo que en este punto todas estas respuestas son válidas, simplemente está arriba para usted cuál quiere elegir que sea más limpio para sus propósitos. Sugeriría que escribas las diferentes implementaciones y mires el IL en .NET Reflector (http://www.red-gate.com/products/reflector/) si realmente quieres ver qué código se genera para cada una, pero como muchos dirán, eso es micro-optimización. Realmente se trata de lo que es más claro en la intención. PS Nota tomada para ser más clara en el futuro. – Kilanash
intente esto, funcionará ... le dará el índice del índice de fila seleccionado .. .
int rowindex = dataGridView1.CurrentRow.Index;
MessageBox.Show(rowindex.ToString());
dataGridView1.SelectedRows[0].Index;
Aquí encontrará todo sobre DataGridView C# datagridview tutorial
Lynda
prueba este
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
}
Gracias, exactamente lo que necesitaba para determinar el valor oculto de una fila seleccionada al usar un control que no estaba asociado con la vista de cuadrícula. – orgtigger
intente lo siguiente:
int myIndex = MyDataGrid.SelectedIndex;
Esto le dará al índice de la fila que está seleccionada en ese momento.
Esperanza esto ayuda
he modificado respuesta @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;
}
Puede probar este código:
int columnIndex = dataGridView.CurrentCell.ColumnIndex;
int rowIndex = dataGridView.CurrentCell.RowIndex;
Práctica:
int rc=dgvDataRc.CurrentCell.RowIndex;** //for find the row index number
MessageBox.Show("Current Row Index is = " + rc.ToString());
espero que le ayudará.
Gracias por saltar, pero su respuesta es un duplicado de la respuesta seleccionada (y la más votada) que dio la solución 'datagridview.CurrentCell.RowIndex'. Mis disculpas; voy a recomendar que esta publicación se elimine como un duplicado completo. – ErikE
que utilizar si se hace clic en valor de fila 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
}
- 1. DataGridView que siempre tiene una fila seleccionada
- 2. ¿Cómo hago para que DataGridView muestre la fila seleccionada?
- 3. Cambiar el color de fondo de la fila seleccionada en Datagridview en mouseover
- 4. WinForms - DataGridView - sin celda seleccionada
- 5. Insertar fila en medio de DataGridView (C#)
- 6. UITableView: ¿qué fila fue seleccionada?
- 7. DatagridView Seleccionar la última fila
- 8. Celda de Datagridview seleccionada después de ClearSelection
- 9. Necesita identificación de pestaña seleccionada actualmente para las pestañas jQuery
- 10. La primera columna de DataGridView, primera fila, está seleccionada en Cargar, no quiero esto
- 11. Datagridview, deshabilitar botón/fila
- 12. datagridview columna índice
- 13. ¿Cómo coloco un DataGridView en una fila específica (para que la fila seleccionada esté en la parte inferior)?
- 14. Cómo coloco un DataGridView en una fila específica (para que la fila seleccionada esté en la parte superior)
- 15. C# Datagridview - Verificar la fila se selecciona
- 16. Jqgrid: navegación basada en la fila seleccionada
- 17. DataGridView Alto de fila Autotamaño
- 18. C#: Seleccionar fila de DataGridView
- 19. DataGridView capturar selección de fila de usuario
- 20. Cómo obtengo un DataRow de una fila en un DataGridView
- 21. iPhone SDK: ¿Cómo puedo obtener la fila seleccionada actualmente para UIPicker?
- 22. los números de fila en un DataGridView
- 23. Obtener GridView fila seleccionada DataKey en Javascript
- 24. obteniendo la fila seleccionada a través de AbstractTableModel
- 25. Estilo de fila seleccionada de WPF DataGrid
- 26. Color de fondo de la fila seleccionada
- 27. ¿Cómo saber qué filas de DataGridView están actualmente en pantalla?
- 28. Cómo configurar "insertar nueva fila" como primera fila en DataGridView
- 29. JQgrid: valor específico de una fila seleccionada
- 30. Haga doble clic en la fila DataGridView?
Perfecto. Esto parece más simple/más rápido, incluso sobre SelectedRows [0] .Index. ¿Sería eso una buena suposición? – ErikE
Hmm, no pensé en seleccionar varias filas. No estoy seguro del comportamiento de la celda actual en este caso. – fletcher
Si es algo así como Excel, la lista seleccionada puede ser de muchas filas/columnas, pero solo hay una celda actual/activa. Solo me importa la fila actual, así que esto debería estar bien. – ErikE