> 백엔드 개발 > C++ > 사용자 정의 개체 목록을 ComboBox에 바인딩하고 선택한 항목을 검색하는 방법은 무엇입니까?

사용자 정의 개체 목록을 ComboBox에 바인딩하고 선택한 항목을 검색하는 방법은 무엇입니까?

Patricia Arquette
풀어 주다: 2025-01-13 09:47:43
원래의
965명이 탐색했습니다.

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

개체 목록을 콤보 상자 옵션에 바인딩

사용자 정의 개체 목록을 콤보 상자에 바인딩하고 지정된 속성을 옵션 레이블로 표시하는 솔루션이 필요합니다. 배경으로 다음 클래스를 고려하십시오.

public class Country
{
    public string Name { get; set; }
    public IList<City> Cities { get; set; }

    public Country()
    {
        Cities = new List<City>();
    }
}
로그인 후 복사

단계별 안내

바인딩을 만들려면 다음 단계를 따르세요.

  1. 사용자 정의 개체(예: 국가)의

    목록 만들기:

     List<Country> countries = new List<Country> { new Country { Name = "UK" }, new Country { Name = "Australia" }, new Country { Name = "France" } };
    로그인 후 복사
  2. BindingSource를 초기화하고 해당 DataSource를 List에 할당:

     var bindingSource1 = new BindingSource();
     bindingSource1.DataSource = countries;
    로그인 후 복사
  3. 콤보 상자의 DataSource를 BindingSource의 DataSource로 설정합니다.

     comboBox1.DataSource = bindingSource1.DataSource;
    로그인 후 복사
  4. 콤보 상자에 DisplayMember로 표시할 속성을 지정합니다.

     comboBox1.DisplayMember = "Name";
    로그인 후 복사
  5. 콤보 상자에서 반환된 값이 속성을 ValueMember로 사용하도록 지정합니다.

     comboBox1.ValueMember = "Name";
    로그인 후 복사

선택한 항목 검색

콤보 상자에서 선택한 국가 개체를 가져오려면 선택한 항목을 해당 유형으로 캐스팅하세요.

Country selectedCountry = (Country)comboBox1.SelectedItem;
로그인 후 복사

동적 업데이트

콤보 상자를 자동으로 업데이트해야 하는 경우 DataSource가 IBindingList 인터페이스를 구현하는지 확인하세요. BindingList는 실시간 데이터 변경을 지원하는 구현입니다.

객체 및 속성 표시

DisplayMember는 클래스의 속성(예: "이름")을 참조해야 합니다. 필드(예: "이름;")를 사용하는 경우 해당 값에 액세스할 수 없으며 콤보 상자에는 속성 값 대신 개체 유형이 표시됩니다.

위 내용은 사용자 정의 개체 목록을 ComboBox에 바인딩하고 선택한 항목을 검색하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿