Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Mengikat Senarai Objek Tersuai pada ComboBox dan Dapatkan Item Terpilih?

Bagaimana untuk Mengikat Senarai Objek Tersuai pada ComboBox dan Dapatkan Item Terpilih?

Patricia Arquette
Patricia Arquetteasal
2025-01-13 09:47:43889semak imbas

How to Bind a List of Custom Objects to a ComboBox and Retrieve the Selected Item?

Ikat senarai objek pada pilihan kotak kombo

Anda memerlukan penyelesaian untuk mengikat senarai objek tersuai pada kotak kombo dan memaparkan sifatnya yang ditentukan sebagai label pilihan. Sebagai latar belakang, pertimbangkan kelas berikut:

<code class="language-c#">public class Country
{
    public string Name { get; set; }
    public IList<City> Cities { get; set; }

    public Country()
    {
        Cities = new List<City>();
    }
}</code>

Panduan langkah demi langkah

Untuk membuat pengikatan, ikut langkah berikut:

  1. Buat Senarai objek tersuai (mis., Negara):

    <code class="language-c#"> List<Country> countries = new List<Country> { new Country { Name = "UK" }, new Country { Name = "Australia" }, new Country { Name = "France" } };</code>
  2. Mulakan BindingSource dan tetapkan DataSourcenya ke Senarai:

    <code class="language-c#"> var bindingSource1 = new BindingSource();
     bindingSource1.DataSource = countries;</code>
  3. Tetapkan DataSource kotak kombo kepada DataSource of BindingSource:

    <code class="language-c#"> comboBox1.DataSource = bindingSource1.DataSource;</code>
  4. Nyatakan sifat yang akan dipaparkan dalam kotak kombo sebagai Ahli Paparan:

    <code class="language-c#"> comboBox1.DisplayMember = "Name";</code>
  5. Menentukan bahawa nilai yang dikembalikan oleh kotak kombo akan menggunakan harta sebagai ValueMember:

    <code class="language-c#"> comboBox1.ValueMember = "Name";</code>

Dapatkan semula item yang dipilih

Untuk mendapatkan objek Negara yang dipilih daripada kotak kombo, hantar item yang dipilih kepada jenis yang sepadan:

<code class="language-c#">Country selectedCountry = (Country)comboBox1.SelectedItem;</code>

Kemas kini dinamik

Jika anda memerlukan kotak kombo untuk mengemas kini secara automatik, pastikan DataSource melaksanakan antara muka IBindingList. BindingList ialah pelaksanaan yang menyokong perubahan data masa nyata.

Paparkan objek dan sifat

Perhatikan bahawa Ahli Paparan harus merujuk sifat dalam kelas (cth., "Nama"). Jika anda menggunakan medan (contohnya, "Nama;"), nilai tidak akan dapat diakses dan kotak kombo akan memaparkan jenis objek dan bukannya nilai sifat.

Atas ialah kandungan terperinci Bagaimana untuk Mengikat Senarai Objek Tersuai pada ComboBox dan Dapatkan Item Terpilih?. 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