Pregunta

Tengo una vista de datos que se enlaza desde una tabla de SQL, en ese dv tengo esos atributos: Id, Nombre y Precio. Cuando configuro el modo de ordenación de las columnas de nombre en Automático 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 según sus primeras letras (Acumulator, Boat, CocaCola, motor etc).

¿Hay alguna forma de que esto suceda sin hacer clic en el encabezado de la columna Nombre. Estoy buscando un código que hará este trabajo cuando se cargue el formulario.

¿Fue útil?

Solución

Hay un método en DataGridView llamado " Ordenar " ;:

this.dataGridView1.Sort(this.dataGridView1.Columns["Name"], ListSortDirection.Ascending);

Esto ordenará de manera programática su vista de datos.

Otros consejos

dataGridView1.Sort(dataGridView1.Columns[0],ListSortDirection.Ascending);

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. Porque si ordenó los datos devueltos de la base de datos, consumirá tiempo, pero se ordenará ya que se ejecutará como usted dice que quiere que se ordenen, no desde la interfaz de usuario, sino que se ordenen en el tiempo de ejecución, así que solicítelos al ejecutar el SQL consulta.

Este es más simple :)

dataview dataview1; 
this.dataview1= dataset.tables[0].defaultview;
this.dataview1.sort = "[ColumnName] ASC, [ColumnName] DESC";
this.datagridview.datasource = dataview1;

Use la propiedad Datatable.Default.Sort y luego conéctela a datagridview.

La mejor manera de hacer esto es ordenar la lista antes de vincular la fuente de datos.

cars = cars.OrderBy (o = > o.year). Luego (o = > o.color) .ToList (); adgCars.DataSource = cars;

Lo siento por mi mal inglés.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top