Maison >développement back-end >C++ >Comment puis-je trier les lignes d'un DataTable sans modifier la table d'origine ?

Comment puis-je trier les lignes d'un DataTable sans modifier la table d'origine ?

Susan Sarandon
Susan Sarandonoriginal
2025-01-08 19:37:49785parcourir

How Can I Sort a DataTable's Rows Without Modifying the Original Table?

Méthode de tri des lignes du tableau de données

Lorsque vous travaillez avec des tableaux de données, vous devez souvent trier les lignes en fonction de conditions spécifiques. Supposons qu'il existe un tableau de données avec deux colonnes :

<code>COL1   COL2
Abc    5
Def    8
Ghi    3</code>

L'objectif est de trier ce tableau de données par ordre décroissant en fonction de la valeur de la colonne COL2, ce qui donne le résultat suivant :

<code>COL1   COL2
Def    8
Abc    5
Ghi    3</code>

Bien que trier un DataView soit simple, des problèmes surviennent si vous souhaitez trier le DataTable lui-même directement, sans utiliser de DataView.

Solution

Le tri direct sur place d'un DataTable n'est pas possible. Cependant, vous pouvez créer un nouveau DataTable créé à partir du DataView trié si vous le souhaitez. Voici comment procéder :

<code class="language-csharp">DataView dv = ft.DefaultView;
dv.Sort = "COL2 desc";
DataTable sortedDT = dv.ToTable();</code>

Dans le code, créez d'abord un DataView (dv) à partir du DataTable (ft) d'origine. Ensuite, utilisez la propriété Sort pour appliquer des conditions de tri au DataView. Enfin, utilisez la méthode ToTable() pour créer un nouveau DataTable (sortedDT) à partir du DataView trié.

Avec cette approche, le tri souhaité peut être obtenu sans modifier 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