Kami memiliki dua kolom dalam DataTable
, seperti:
COL1 COL2
Abc 5
Def 8
Ghi 3
Kami mencoba mengurutkan datatable
berdasarkan pada COL2
urutan menurun.
COL1 COL2
ghi 8
abc 4
def 3
jkl 1
Kami mencoba ini:
ft.DefaultView.Sort = "COL2 desc";
ft = ft.DefaultView.ToTable(true);
tetapi, tanpa menggunakan DataView
, kami ingin mengurutkan DataTable
sendiri, bukan DataView
.
Ini akan membantu Anda ...
sumber
Ini Penggunaan Sederhana. Pilih fungsi.
Dan itu selesai ...... Selamat Coding
sumber
Select("", "CompanyName ASC")
.Mungkin yang berikut dapat membantu:
Di sini, Anda juga dapat menggunakan kueri ekspresi Lambda lainnya.
sumber
Apakah Anda mencoba menggunakan
Select(filterExpression, sortOrder)
metode pada DataTable? Lihat di sini untuk contoh. Catatan metode ini tidak akan mengurutkan tabel data di tempat, jika itu yang Anda cari, tetapi akan mengembalikan array baris yang diurutkan tanpa menggunakan tampilan data.sumber
Atau, jika Anda dapat menggunakan
DataGridView
, Anda bisa menghubungiSort(column, direction)
:Yang akan memberi Anda hasil yang diinginkan:
sumber
sumber
Ada 2 cara untuk mengurutkan data
1) menyortir data saja dan mengisi ke dalam kisi:
2) mengurutkan tampilan default yang seperti mengurutkan dengan tajuk kolom kotak:
sumber
DataRow[] rows = dt.Rows.Cast<DataRow>().OrderBy(row => row.Field<string>("FIELD_NAME"), MyCustomComparer.Instance).ToArray();
Ternyata ada kasus khusus di mana ini bisa dicapai. Caranya adalah ketika membangun DataTable, kumpulkan semua baris dalam daftar, urutkan, lalu tambahkan. Kasus ini baru saja muncul di sini.
sumber
// Semoga Ini akan membantumu ..
sumber
TL; DR
gunakan
tableObject.Select(queryExpression, sortOrderExpression)
untuk memilih data dengan cara diurutkanContoh lengkap
Contoh kerja lengkap - dapat diuji dalam aplikasi konsol :
Keluaran
sumber
coba ini:
sumber
DataTable sortedDT = new DataTable()
. 2) Anda harus menggunakanImportRow
(Anda tidak dapat menambahkan baris dari tabel yang berbeda)