sólo - Ordenar columnas dataGridView en C#?(Windows Form)
un control datagridview enlazado a datos sólo se puede ordenar en columnas enlazadas a datos (5)
Tengo una vista de cuadro de datos que ato desde una tabla sql, en ese dv tengo esos atributos: Id, Nombre y Precio. Cuando configuro SortMode de Name Columns en Automatic y hago clic en el encabezado de esta columna, puedo ordenar este dv según la primera letra del nombre, de esta manera puedo ordenar productos basados en sus primeras letras (Acumulator, Boat, CocaCola, Engine, etc.).
¿Hay alguna manera de que esto ocurra sin hacer clic en el encabezado de la columna Nombre? Estoy buscando algún código que haga este trabajo cuando se cargue el formulario.
Este es más simple :)
dataview dataview1;
this.dataview1= dataset.tables[0].defaultview;
this.dataview1.sort = "[ColumnName] ASC, [ColumnName] DESC";
this.datagridview.datasource = dataview1;
Hay un método en DataGridView llamado "Ordenar":
this.dataGridView1.Sort(this.dataGridView1.Columns["Name"], ListSortDirection.Ascending);
Esto clasificará programáticamente su datagridview.
Puede controlar los datos devueltos desde la base de datos SQL ordenando los datos devueltos:
orderby [Name]
Si ejecuta la consulta SQL desde su aplicación, ordene los datos devueltos. Por ejemplo, cree una función que llame al procedimiento o ejecute el SQL y asígnele un parámetro que obtenga los criterios de orden por orden. Porque si ordenó los datos devueltos desde la base de datos, consumirá tiempo pero lo ordenará ya que se ejecuta como usted dice que desea ordenarlo no desde la UI que desea que se ordene en el tiempo de ejecución así que ordene al ejecutar el SQL consulta.
Utilice la propiedad Datatable.Default.Sort
y luego vincule a la vista de cuadro de datos.
dataGridView1.Sort(dataGridView1.Columns[0],ListSortDirection.Ascending);