Bagikan melalui


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

  1. Atur Sort properti ke nama kolom yang ingin Anda ikuti atau ASCDESC untuk menunjukkan urutan naik atau turun.

  2. 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