Ordina le colonne dataGridView in C #? (Windows Form)

Ho un datagridview che leghiamo da una tabella sql, in quel dv ho quegli attributi: Id, Nome e Prezzo. Quando imposto il SortMode delle colonne del nome su Automatic e faccio clic sull’intestazione di questa colonna, posso ordinare questo dv in base alla prima lettera del nome, in questo modo posso ordinare i prodotti in base alle loro prime lettere (Acumulator, Boat, CocaCola, motore ecc.).

C’è un modo in cui questa cosa può accadere senza fare clic sull’intestazione della colonna Nome. Sto cercando un codice che farà questo lavoro quando verrà caricato il modulo.

C’è un metodo su DataGridView chiamato “Ordina”:

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

Questo programmaticamente ordinerà il tuo datagridview.

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

È ansible controllare i dati restituiti dal database SQL ordinando i dati restituiti:

 orderby [Name] 

Se si esegue la query SQL dall’applicazione, ordinare i dati restituiti. Ad esempio, creare una funzione che chiama la procedura o esegue l’SQL e assegnargli un parametro che ottiene i criteri orderby. Perché se hai ordinato i dati restituiti dal database, consumerà tempo ma lo ordini poiché è eseguito come dici tu vuoi che sia ordinato non dall’interfaccia utente che vuoi che sia ordinato in fase di esecuzione, quindi ordinalo quando esegui SQL query.

Questo è più semplice 🙂

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

Utilizzare la proprietà Datatable.Default.Sort e quindi associarla alla vista datagrid.