Maison >développement back-end >C++ >Comment trier efficacement les lignes DataTable par une colonne spécifique par ordre décroissant ?

Comment trier efficacement les lignes DataTable par une colonne spécifique par ordre décroissant ?

Susan Sarandon
Susan Sarandonoriginal
2025-01-08 19:52:401030parcourir

How to Efficiently Sort DataTable Rows by a Specific Column in Descending Order?

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn