¿Cómo puedo seleccionar un rango particular de filas en un DataGridView
programa en tiempo de ejecución?
fuente
¿Cómo puedo seleccionar un rango particular de filas en un DataGridView
programa en tiempo de ejecución?
No probado, pero creo que puede hacer lo siguiente:
dataGrid.Rows[index].Selected = true;
o puede hacer lo siguiente (pero nuevamente: no probado):
dataGrid.SelectedRows.Clear();
foreach(DataGridViewRow row in dataGrid.Rows)
{
if(YOUR CONDITION)
row.Selected = true;
}
En Visual Basic, haga esto para seleccionar una fila en un DataGridView
; la fila seleccionada aparecerá con un color resaltado, pero tenga en cuenta que la posición del cursor no cambiará:
Grid.Rows(0).Selected = True
Haga esto cambiar la posición del cursor:
Grid.CurrentCell = Grid.Rows(0).Cells(0)
La combinación de las líneas de arriba colocará el cursor y seleccionará una fila. Este es el procedimiento estándar para enfocar y seleccionar una fila en un DataGridView
:
Grid.CurrentCell = Grid.Rows(0).Cells(0)
Grid.Rows(0).Selected = True
DataGridView.Rows
.OfType<DataGridViewRow>()
.Where(x => (int)x.Cells["Id"].Value == pId)
.ToArray<DataGridViewRow>()[0]
.Selected = true;
<GridViewName>.ClearSelection(); ----------------------------------------------------1
foreach(var item in itemList) -------------------------------------------------------2
{
rowHandle =<GridViewName>.LocateByValue("UniqueProperty_Name", item.unique_id );--3
if (rowHandle != GridControl.InvalidRowHandle)------------------------------------4
{
<GridViewName>.SelectRow(rowHandle);------------------------------------ -----5
}
}
Donde itemList es una lista de filas que se seleccionarán en la vista de cuadrícula.
Prueba esto:
datagridview.Rows[currentRow].Cells[0];
datagridview.Rows[currentRow].Cells[0]
Obtiene ... la celda en la ubicación del índice proporcionada. ¿Cómo selecciona esto un rango particular de filas como se solicita en la pregunta?
Puede usar el método Select si tiene una fuente de datos: http://msdn.microsoft.com/en-us/library/b51xae2y%28v=vs.71%29.aspx
O use linq si tiene objetos en su fuente de datos
Al configurar una fila seleccionada de un DataGridView en el momento de la carga, considere la posibilidad de manejar esto en el evento DataBindingComplete, porque se puede sobrescribir de forma predeterminada.
Prueba esto:
DataGridViewRow row = dataGridView1.Rows[index row you want];
dataGridView1.CurrentRow = row;
¡Espero que esto ayude!
read-only
, entoncesSelectedRows.Clear()
no funcionará.SelectedRows.Clear()
solo se borran las filas seleccionadas, peroClearSelection()
también con las columnas => las selecciones de columnas se pierden ...dataGrid.CurrentCell = dataGrid.Rows[row.Index].Cells[0];