Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Saya Boleh Isih Baris Jadual Data Tanpa Mengubah Suai Jadual Asal?

Bagaimanakah Saya Boleh Isih Baris Jadual Data Tanpa Mengubah Suai Jadual Asal?

Susan Sarandon
Susan Sarandonasal
2025-01-08 19:37:49746semak imbas

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

Kaedah pengisihan baris jadual data

Apabila bekerja dengan jadual data, anda selalunya perlu mengisih baris berdasarkan syarat tertentu. Katakan terdapat jadual data dengan dua lajur:

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

Matlamatnya adalah untuk mengisih jadual data ini dalam tertib menurun berdasarkan nilai lajur COL2, menghasilkan output berikut:

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

Walaupun menyusun DataView adalah mudah, masalah timbul jika anda ingin mengisih DataTable itu sendiri secara langsung, tanpa menggunakan DataView.

Penyelesaian

Isih di tempat secara langsung bagi Jadual Data tidak boleh dilakukan. Walau bagaimanapun, anda boleh mencipta Jadual Data baharu yang dibuat daripada DataView yang diisih jika mahu. Begini caranya:

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

Dalam kod, mula-mula buat DataView (dv) daripada DataTable (ft) asal. Kemudian, gunakan sifat Isih untuk menggunakan syarat pengisihan pada DataView. Akhir sekali, gunakan kaedah ToTable() untuk mencipta DataTable baharu (sortedDT) daripada DataView yang diisih.

Dengan pendekatan ini, pengisihan yang diingini boleh dicapai tanpa mengubah Jadual Data asal.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Isih Baris Jadual Data Tanpa Mengubah Suai Jadual Asal?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn