Cara: Mengurutkan dan Memfilter Data ADO.NET dengan Komponen Formulir Windows BindingSource
Anda dapat mengekspos kemampuan pengurutan dan pemfilteran BindingSource kontrol melalui Sort properti dan Filter . Anda dapat menerapkan pengurutan sederhana saat sumber data yang mendasar adalah IBindingList, dan Anda dapat menerapkan pemfilteran dan pengurutan tingkat lanjut saat sumber data adalah IBindingListView. Properti Sort memerlukan sintaks ADO.NET standar: string yang mewakili nama kolom data di sumber data diikuti oleh ASC
atau DESC
untuk menunjukkan apakah daftar harus diurutkan dalam urutan naik atau turun. Anda dapat mengatur pengurutan tingkat lanjut atau pengurutan beberapa kolom dengan memisahkan setiap kolom dengan pemisah koma. Properti Filter mengambil ekspresi string.
Catatan
Menyimpan informasi sensitif, seperti kata sandi, dalam string koneksi dapat memengaruhi keamanan aplikasi Anda. Menggunakan Autentikasi Windows (juga dikenal sebagai keamanan terintegrasi) adalah cara yang lebih aman untuk mengontrol akses ke database. Untuk informasi lebih lengkap, lihat Melindungi Informasi Koneksi.
Untuk memfilter data dengan BindingSource
Atur properti ke Filter ekspresi yang Anda inginkan.
Dalam contoh kode berikut, ekspresi adalah nama kolom diikuti dengan nilai yang Anda inginkan untuk kolom tersebut.
BindingSource1.Filter = "ContactTitle='Owner'";
BindingSource1.Filter = "ContactTitle='Owner'"
Untuk mengurutkan data dengan BindingSource
Atur Sort properti ke nama kolom yang ingin Anda ikuti atau
ASC
DESC
untuk menunjukkan urutan naik atau turun.Pisahkan beberapa kolom dengan koma.
BindingSource1.Sort = "Country DESC, Address ASC";
BindingSource1.Sort = "Country DESC, Address ASC"
Contoh
Contoh kode berikut memuat data dari tabel Pelanggan database sampel Northwind ke dalam DataGridView kontrol, dan memfilter dan mengurutkan data yang ditampilkan.
private void InitializeSortedFilteredBindingSource()
{
// Create the connection string, data adapter and data table.
SqlConnection connectionString =
new SqlConnection("Initial Catalog=Northwind;" +
"Data Source=localhost;Integrated Security=SSPI;");
SqlDataAdapter customersTableAdapter =
new SqlDataAdapter("Select * from Customers", connectionString);
DataTable customerTable = new DataTable();
// Fill the adapter with the contents of the customer table.
customersTableAdapter.Fill(customerTable);
// Set data source for BindingSource1.
BindingSource1.DataSource = customerTable;
// Filter the items to show contacts who are owners.
BindingSource1.Filter = "ContactTitle='Owner'";
// Sort the items on the company name in descending order.
BindingSource1.Sort = "Country DESC, Address ASC";
// Set the data source for dataGridView1 to BindingSource1.
dataGridView1.DataSource = BindingSource1;
}
Private Sub InitializeSortedFilteredBindingSource()
' Create the connection string, data adapter and data table.
Dim connectionString As New SqlConnection("Initial Catalog=Northwind;" & _
"Data Source=localhost;Integrated Security=SSPI;")
Dim customersTableAdapter As New SqlDataAdapter("Select * from Customers", _
connectionString)
Dim customerTable As New DataTable()
' Fill the adapter with the contents of the customer table.
customersTableAdapter.Fill(customerTable)
' Set data source for BindingSource1.
BindingSource1.DataSource = customerTable
' Filter the items to show contacts who are owners.
BindingSource1.Filter = "ContactTitle='Owner'"
' Sort the items on the company name in descending order.
BindingSource1.Sort = "Country DESC, Address ASC"
' Set the data source for dataGridView1 to BindingSource1.
dataGridView1.DataSource = BindingSource1
End Sub
Mengompilasi Kode
Untuk menjalankan contoh ini, tempelkan kode ke dalam formulir yang berisi BindingSource nama BindingSource1
dan bernama DataGridViewdataGridView1
. Load Tangani peristiwa untuk formulir dan panggil InitializeSortedFilteredBindingSource
dalam metode penanganan aktivitas beban.
Baca juga
.NET Desktop feedback
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk