Trier les colonnes dataGridView en C#? (Windows Form)

j'ai un datagridview que je lie à partir d'une table sql, dans ce dv j'ai ces attributs: Id, Name et Price. Quand je mets le mode D'écriture des colonnes de noms à automatique et que je clique sur l'en-tête de cette colonne, je peux trier ce dv en fonction de la première lettre du nom, de cette façon je peux commander des produits en fonction de leurs premières lettres ( Acumulator, Boat, CocaCola, Engine etc).

y a-t-il un moyen pour que cela se produise sans cliquer sur l'en-tête du nom de la colonne. Je suis à la recherche de quelques code qui fera ce travail quand le formulaire se chargera.

41
demandé sur Cœur 2009-04-30 16:49:39

5 réponses

Il y a une méthode dans DataGridView appelée "Sort":

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

cela va programmatiquement trier votre datagridview.

89
répondu BFree 2016-02-19 02:03:34
dataGridView1.Sort(dataGridView1.Columns[0],ListSortDirection.Ascending);
12
répondu user427483 2012-06-02 13:32:00

Vous pouvez contrôler les données retournées de la base de données SQL en ordonnant les données retournées:

orderby [Name]

si vous exécutez la requête SQL depuis votre application, Commandez les données retournées. Par exemple, faites une fonction qui appelle la procédure ou exécute le SQL et donnez-lui un paramètre qui obtient les critères orderby. Parce que si vous avez commandé les données retournées à partir de la base de données, cela va prendre du temps mais ordonnez-le puisqu'il est exécuté comme vous dites que vous voulez qu'il soit commandé pas à partir de L'UI vous voulez qu'il soit ordonné dans le temps de le commander lors de l'exécution de la requête SQL.

3
répondu Ahmy 2016-03-24 21:16:33

celui-ci est plus simple :)

dataview dataview1; 
this.dataview1= dataset.tables[0].defaultview;
this.dataview1.sort = "[ColumnName] ASC, [ColumnName] DESC";
this.datagridview.datasource = dataview1;
1
répondu nate wew 2015-09-25 06:58:32

Utiliser Datatable.Default.Sort propriété et ensuite la lier à la vue de données.

0
répondu danish 2012-10-10 17:50:40