Ordenar un DataGridView con DataSource Linq

Quería ordenar un datagridview cuando pinchase sobre el encabezado del grid, para ello se debe usar el evento:
private void grid_ColumnHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e)

En el siguiente link puedes ver como hacerlo OrdenarGrid

Esto en mi caso no me sirvió, ya que cargaba el DataGridView a partir de una lista.
Obtenía el siguiente error:
datagridOrdenError

La solución por la que opte, fue ordenar la lista y asignarla al DataSource.

**La idea de ordenar mediante reflection la obtuve de aqui

Puede que no veas los iconitos de ordenación en los encabezados, es debido a la anchura de la columna.
En la parte de diseño puedes asignar AutoSizeColumnsMode a ColumnHeader.

También puede que te de error “SortGlyphDirection del encabezado de columna no se puede establecer en Descending mientras SortMode de la columna se establezca en NotSortable.” es debido al tipo de campo que no es texto. Para solucionarlo tienes que definirlos

Deja un comentario