Maison >développement back-end >C++ >Comment trier efficacement les lignes DataTable par une colonne spécifique par ordre décroissant ?
Méthode de tri des lignes DataTable
Cet article présente une méthode pour trier les lignes DataTable en fonction de colonnes spécifiques. Supposons que nous ayons un DataTable contenant les données suivantes, contenant deux colonnes :
COL1 | COL2 |
---|---|
Abc | 5 |
Def | 8 |
Ghi | 3 |
Notre objectif est de trier les données par ordre décroissant en fonction de la valeur de la colonne COL2 et d'obtenir les résultats suivants :
COL1 | COL2 |
---|---|
Def | 8 |
Abc | 5 |
Ghi | 3 |
J'ai d'abord essayé en utilisant le code suivant :
<code>ft.DefaultView.Sort = "COL2 desc"; ft = ft.DefaultView.ToTable(true);</code>
Cependant, cette méthode trie le DataView, pas directement le DataTable.
Solution
Il n'est pas facile de trier DataTable directement sur place. La méthode recommandée est la suivante : créez d'abord un DataView à partir du DataTable d'origine, puis triez ou filtrez le DataView et enfin utilisez la méthode DataView.ToTable pour créer un nouveau DataTable.
<code>DataView dv = ft.DefaultView; dv.Sort = "COL2 desc"; DataTable sortedDT = dv.ToTable();</code>
Cette méthode peut trier le DataTable efficacement et ne modifie pas le DataTable d'origine.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!