Heim > Backend-Entwicklung > C++ > Wie kann ich die Zeilen einer DataTable sortieren, ohne die Originaltabelle zu ändern?

Wie kann ich die Zeilen einer DataTable sortieren, ohne die Originaltabelle zu ändern?

Susan Sarandon
Freigeben: 2025-01-08 19:37:49
Original
811 Leute haben es durchsucht

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

Sortiermethode für Datentabellenzeilen

Beim Arbeiten mit Datentabellen müssen Sie Zeilen häufig nach bestimmten Bedingungen sortieren. Angenommen, es gibt eine Datentabelle mit zwei Spalten:

<code>COL1   COL2
Abc    5
Def    8
Ghi    3</code>
Nach dem Login kopieren

Das Ziel besteht darin, diese Datentabelle in absteigender Reihenfolge basierend auf dem Wert der Spalte COL2 zu sortieren, was zu der folgenden Ausgabe führt:

<code>COL1   COL2
Def    8
Abc    5
Ghi    3</code>
Nach dem Login kopieren

Während das Sortieren einer DataView einfach ist, treten Probleme auf, wenn Sie die DataTable selbst direkt sortieren möchten, ohne eine DataView zu verwenden.

Lösung

Eine direkte In-Place-Sortierung einer DataTable ist nicht möglich. Sie können jedoch bei Bedarf eine neue DataTable erstellen, die aus der sortierten DataView erstellt wird. So geht's:

DataView dv = ft.DefaultView;
dv.Sort = "COL2 desc";
DataTable sortedDT = dv.ToTable();
Nach dem Login kopieren

Erstellen Sie im Code zunächst eine DataView (dv) aus der ursprünglichen DataTable (ft). Verwenden Sie dann die Sort-Eigenschaft, um Sortierbedingungen auf die DataView anzuwenden. Verwenden Sie abschließend die Methode ToTable(), um aus der sortierten DataView eine neue DataTable (sortedDT) zu erstellen.

Mit diesem Ansatz kann die gewünschte Sortierung erreicht werden, ohne die ursprüngliche DataTable zu ändern.

Das obige ist der detaillierte Inhalt vonWie kann ich die Zeilen einer DataTable sortieren, ohne die Originaltabelle zu ändern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage