Bagikan melalui


Membuat kontrol pengguna .NET Framework Formulir Windows yang mendukung pengikatan data pencarian

Catatan

Himpunan data dan kelas terkait adalah teknologi .NET Framework warisan dari awal 2000-an yang memungkinkan aplikasi untuk bekerja dengan data dalam memori saat aplikasi terputus dari database. Teknologi ini sangat berguna untuk aplikasi yang memungkinkan pengguna memodifikasi data dan mempertahankan perubahan kembali ke database. Meskipun himpunan data telah terbukti menjadi teknologi yang sangat sukses, sebaiknya aplikasi .NET baru menggunakan Entity Framework Core. Entity Framework menyediakan cara yang lebih alami untuk bekerja dengan data tabular sebagai model objek, dan memiliki antarmuka pemrograman yang lebih sederhana.

Saat menampilkan data di Formulir Windows, Anda dapat memilih kontrol yang ada dari Kotak Alat, atau Anda dapat menulis kontrol kustom jika aplikasi Anda memerlukan fungsionalitas yang tidak tersedia dalam kontrol standar. Panduan ini menunjukkan cara membuat kontrol yang mengimplementasikan LookupBindingPropertiesAttribute. Kontrol yang mengimplementasikan LookupBindingPropertiesAttribute dapat berisi tiga properti yang dapat terikat ke data. Kontrol seperti itu mirip ComboBoxdengan .

Untuk informasi selengkapnya tentang penulisan kontrol, lihat Mengembangkan kontrol Formulir Windows pada waktu desain.

Saat menulis kontrol untuk digunakan dalam skenario pengikatan data, Anda perlu menerapkan salah satu atribut pengikatan data berikut:

Penggunaan atribut pengikatan data
Terapkan DefaultBindingPropertyAttribute pada kontrol sederhana, seperti TextBox, yang menampilkan satu kolom (atau properti) data. Untuk informasi selengkapnya, lihat Membuat kontrol pengguna Formulir Windows yang mendukung pengikatan data sederhana.
Terapkan ComplexBindingPropertiesAttribute pada kontrol, seperti DataGridView, yang menampilkan daftar (atau tabel) data. Untuk informasi selengkapnya, lihat Membuat kontrol pengguna Formulir Windows yang mendukung pengikatan data yang kompleks.
Terapkan LookupBindingPropertiesAttribute pada kontrol, seperti ComboBox, yang menampilkan daftar (atau tabel) data, tetapi juga perlu menyajikan satu kolom atau properti. (Proses ini dijelaskan di halaman panduan ini.)

Panduan ini membuat kontrol pencarian yang mengikat ke data dari dua tabel. Contoh ini menggunakan tabel Customers dan Orders dari database sampel Northwind. Kontrol pencarian terikat ke CustomerID bidang dari Orders tabel. Ini menggunakan nilai ini untuk mencari CompanyName dari Customers tabel.

Selama panduan ini, Anda akan mempelajari cara:

  • Buat Aplikasi Formulir Windows baru (.NET Framework).

  • Tambahkan Kontrol Pengguna baru ke proyek Anda.

  • Merancang kontrol pengguna secara visual.

  • Terapkan atribut LookupBindingProperty.

  • Buat himpunan data dengan wizard Konfigurasi Sumber Data.

  • Atur kolom CustomerID pada tabel Pesanan , di jendela Sumber Data, untuk menggunakan kontrol baru.

  • Buat formulir untuk menampilkan data dalam kontrol baru.

Prasyarat

Untuk menyelesaikan tutorial ini, Anda memerlukan beban kerja pengembangan desktop .NET dan Penyimpanan data dan pemrosesan yang diinstal di Visual Studio. Untuk menginstalnya, buka penginstal Visual Studio, lalu pilih Ubah(atau Lebih> Ubah) di samping versi Visual Studio yang ingin Anda ubah. Lihat Ubah Visual Studio.

Panduan ini menggunakan SQL Server Express LocalDB dan database sampel Northwind.

  1. Jika Anda tidak memiliki SQL Server Express LocalDB, pasang dari halaman unduhan SQL Server Express, atau melalui Alat Penginstal Visual Studio. Di Alat Penginstal Visual Studio, Anda dapat memasang SQL Server Express LocalDB sebagai bagian dari beban kerja Penyimpanan dan pemrosesan data, atau sebagai komponen individual.

  2. Instal database sampel Northwind dengan mengikuti langkah-langkah berikut:

    1. Di Visual Studio, buka jendela SQL Server Object Explorer. (SQL Server Object Explorer dipasang sebagai bagian dari beban kerja Penyimpanan dan pemrosesan data di Alat Penginstal Visual Studio.) Perluas node SQL Server. Klik kanan pada instans LocalDB Anda dan pilih Kueri Baru.

      Jendela editor kueri terbuka.

    2. Salin skrip Northwind Transact-SQL ke clipboard Anda. Skrip T-SQL ini membuat database Northwind dari awal dan mengisinya dengan data.

    3. Tempelkan skrip T-SQL ke editor kueri, lalu pilih tombol Jalankan.

      Setelah beberapa saat, kueri selesai berjalan dan database Northwind dibuat.

Membuat proyek aplikasi Formulir Windows

Langkah pertama adalah membuat proyek Formulir Windows App (.NET Framework).

  1. Di Visual Studio, di menu File, pilih Proyek>Baru.

  2. Perluas Visual C# atau Visual Basic di panel sebelah kiri, lalu pilih Windows Desktop.

  3. Di panel tengah, pilih jenis proyek Aplikasi Formulir Windows.

  4. Beri nama proyek LookupControlWalkthrough, lalu pilih OK.

    Proyek LookupControlWalkthrough dibuat, dan ditambahkan ke Penjelajah Solusi.

Menambahkan kontrol pengguna ke proyek

Panduan ini membuat kontrol pencarian dari Kontrol Pengguna, jadi tambahkan item Kontrol Pengguna ke proyek LookupControlWalkthrough .

  1. Dari menu Proyek , pilih Tambahkan Kontrol Pengguna.

  2. Ketik LookupBox area Nama , lalu pilih Tambahkan.

    Kontrol LookupBox ditambahkan ke Penjelajah Solusi, dan terbuka di perancang.

Mendesain kontrol LookupBox

Untuk merancang kontrol LookupBox, seret ComboBox dari Kotak Alat ke permukaan desain kontrol pengguna.

Menambahkan atribut pengikatan data yang diperlukan

Untuk kontrol pencarian yang mendukung pengikatan data, Anda dapat menerapkan LookupBindingPropertiesAttribute.

  1. Alihkan kontrol LookupBox ke tampilan kode. (Pada Menu tampilan , pilih Kode.)

  2. Ganti kode di LookupBox dengan kode berikut:

    using System.Windows.Forms;
    
    namespace CS
    {
        [System.ComponentModel.LookupBindingProperties("DataSource", "DisplayMember", "ValueMember", "LookupMember")]
        public partial class LookupBox : UserControl
        {
            public object DataSource
            {
                get{ return comboBox1.DataSource; }
                set{ comboBox1.DataSource = value; }
            }
    
            public string DisplayMember
            {
                get{ return comboBox1.DisplayMember; }
                set{ comboBox1.DisplayMember = value; }
            }
    
            public string ValueMember
            {
                get{ return comboBox1.ValueMember; }
                set{ comboBox1.ValueMember = value; }
            }
    
            public string LookupMember
            {
                get{ return comboBox1.SelectedValue.ToString(); }
                set{ comboBox1.SelectedValue = value; }
            }
    
    
            public LookupBox()
            {
                InitializeComponent();
            }
        }
    }
    
  3. Dari menu Build, pilih Build Solution.

Membuat tabel sumber data di database Anda

Langkah ini membuat sumber data menggunakan wizard Konfigurasi Sumber Data, berdasarkan Customers tabel dan Orders di database sampel Northwind.

  1. Untuk membuka jendela Sumber Data, pada menu Data, klik Perlihatkan Sumber Data.

  2. Di jendela Sumber Data, pilih Tambahkan Sumber Data Baru untuk memulai wizard Konfigurasi Sumber Data.

  3. Pilih Database pada halaman Pilih Jenis Sumber Data, lalu pilih Berikutnya.

  4. Pada halaman Pilih Koneksi Data Anda lakukan salah satu hal berikut ini:

    • Jika koneksi data ke database sampel Northwind tersedia di daftar dropdown, pilihlah.

    • Pilih Koneksi Baru untuk meluncurkan kotak dialog Tambahkan/Ubah Koneksi.

  5. Jika database Anda memerlukan kata sandi, pilih opsi untuk menyertakan data sensitif, lalu pilih Berikutnya.

  6. Pada halaman Simpan string koneksi ke file Konfigurasi Aplikasi, klik Berikutnya.

  7. Pada halaman Pilih Objek Database Anda, perluas node Tabel.

  8. Pilih tabel Customers dan Orders, lalu pilih Selesai.

    NorthwindDataSet ditambahkan ke proyek Anda, dan Customers tabel dan Orders muncul di jendela Sumber Data.

Atur kolom CustomerID dari tabel Pesanan untuk menggunakan kontrol LookupBox

Dalam jendela Sumber Data, Anda dapat mengatur kontrol yang akan dibuat sebelum menyeret item ke formulir Anda.

  1. Buka Formulir1 di perancang.

  2. Perluas node Pelanggan di jendela Sumber Data.

  3. Perluas simpul Pesanan (yang ada di simpul Pelanggan di bawah kolom Faks).

  4. Klik panah daftar dropdown pada simpul Pesanan , dan pilih Detail dari daftar kontrol.

  5. Klik panah daftar dropdown pada kolom CustomerID (di simpul Pesanan ), dan pilih Kustomisasi.

  6. Pilih Kotak Pencarian dari daftar Kontrol Terkait dalam kotak dialog Opsi Kustomisasi UI Data.

  7. Klik OK.

  8. Klik panah daftar dropdown pada kolom CustomerID , dan pilih LookupBox.

Menambahkan kontrol ke formulir

Anda dapat membuat kontrol terikat data dengan menyeret item dari jendela Sumber Data ke Form1.

Untuk membuat kontrol terikat data pada Formulir Windows, seret simpul Pesanan dari jendela Sumber Data ke Formulir Windows, dan verifikasi bahwa kontrol LookupBox digunakan untuk menampilkan data di CustomerID kolom.

Mengikat kontrol untuk mencari CompanyName dari tabel Pelanggan

Untuk menyiapkan pengikatan pencarian, pilih simpul Pelanggan utama di jendela Sumber Data, dan seret ke kotak kombo di CustomerIDLookupBox di Form1.

Ini menyiapkan pengikatan data untuk menampilkan CompanyName dari Customers tabel, sambil mempertahankan CustomerID nilai dari Orders tabel.

Jalankan aplikasi

  • Tekan F5 untuk menjalankan aplikasi.

  • Navigasikan melalui beberapa rekaman, dan verifikasi bahwa muncul CompanyName di LookupBox kontrol.