Saltar al contenido

DataGridView: ¿Cómo seleccionar una columna completa y anular la selección de todo lo demás?

Deseamos compartir contigo la mejor respuesta que hallamos en línea. Queremos que te resulte de mucha utilidad y si quieres comentarnos cualquier detalle que nos pueda ayudar a crecer siéntete libre de hacerlo..

Solución:

Lo siento, tomó tanto tiempo. Quería probar antes de responder, así que coloqué esto en Visual Studio para probar primero.

Tuve que hacer esto en el mío para que funcione:

foreach (DataGridViewColumn c in dataGridView1.Columns)

   c.SortMode = DataGridViewColumnSortMode.NotSortable;
   c.Selected = false;

dataGridView1.SelectionMode = DataGridViewSelectionMode.FullColumnSelect;
dataGridView1.Columns[0].Selected = true;

Recorra las celdas de la columna y establezca su propiedad Seleccionado en true.
Suena horrible, pero creo que es la única forma de seleccionar una columna completa y mantener la clasificación automática.

Por ejemplo:

grid.ClearSelection();
for(int r = 0; r < grid.RowCount; r++)
    grid[columnIndex, r].Selected = true;

Necesitas 3 cosas.

  1. Borrar todas las filas y celdas seleccionadas.
  2. Elimine el modo de clasificación de cada columna a No clasificable. El evento de clic predeterminado es ordenar, ahora será seleccionado.
  3. Establezca el modo de selección en columna.

Finalmente, puede seleccionar la primera columna para mostrar al usuario el modo de selección. Esto solo hay que hacerlo una vez. La primera vez que carga su formulario o su vista de cuadrícula de datos.

// Clear all selected cells or rows in the DGV.
dataGridView1.ClearSelection();

// Make every column not sortable.
for (int i=0; i < dataGridView1.Columns.Count; i++)
   dataGridView1.Columns[i].SortMode = DataGridViewColumnSortMode.NotSortable; 

// Set selection mode to Column.
dataGridView1.SelectionMode = DataGridViewSelectionMode.FullColumnSelect; 

// In case you want the first column selected. 
if (dataGridView1.Columns.Count > 0 )  // Check if you have at least one column.
    dataGridView1.Columns[0].Selected = true;

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *