다음을 통해 공유


방법: Windows Forms ComboBox, ListBox 또는 CheckedListBox 컨트롤의 조회 테이블 만들기

데이터를 표시할 때는 Windows Form에서 사용자에게 친숙한 형식으로 표시하고 데이터를 저장할 때는 프로그램에 보다 적합한 형식으로 저장하는 것이 좋습니다. 예를 들어, 음식 주문 양식은 목록 상자에 이름별로 메뉴 항목을 표시할 수 있습니다. 그러나 주문을 기록하는 데이터 테이블에는 음식을 나타내는 고유의 ID 번호가 들어갑니다. 다음 표에서는 음식 주문 양식 데이터를 저장하고 표시하는 방법의 예제를 보여 줍니다.

OrderDetailsTable

OrderID

ItemID

Quantity

4085

12

1

4086

13

3

ItemTable

ID

Name

12

감자

13

닭고기

이 시나리오에서 OrderDetailsTable 테이블에는 표시 및 저장하려는 실제 정보가 저장됩니다. 그러나 이 정보는 공간을 절약하기 위해 매우 복잡한 방식으로 저장됩니다. 또 다른 테이블인 ItemTable에는 특정 ID 번호가 어떤 음식 이름에 해당하는지에 관한 모양 관련 정보만 포함되어 있으며 실제 음식 주문과 관련된 정보는 들어 있지 않습니다.

ItemTable은 세 가지 속성을 통해 ComboBox, ListBox 또는 CheckedListBox 컨트롤에 연결됩니다. DataSource 속성에는 이 테이블의 이름이 포함되어 있습니다. DisplayMember 속성에는 컨트롤에 표시할 테이블의 데이터 열(음식 이름)이 포함되어 있습니다. ValueMember 속성에는 저장된 정보가 들어 있는 테이블의 데이터 열(ID 번호)이 포함되어 있습니다.

OrderDetailsTable은 DataBindings 속성을 통해 액세스하는 bindings 컬렉션에 의해 컨트롤에 연결됩니다. 바인딩 개체를 컬렉션에 추가하면 컨트롤 속성이 데이터 소스(OrderDetailsTable)의 특정 데이터 멤버(ID 번호의 열)에 연결됩니다. 컨트롤에서 사용자가 항목을 선택하면 폼 입력이 이 테이블에 저장됩니다.

조회 테이블을 만들려면

  1. ComboBox, ListBox 또는 CheckedListBox 컨트롤을 폼에 추가합니다.

  2. 데이터 소스에 연결합니다.

  3. 두 테이블 간에 데이터 관계를 설정합니다. 자세한 내용은 다음을 참조하십시오. DataRelation 개체 소개DataRelation 개체 소개DataRelation 개체 소개DataRelation 개체 소개DataRelation 개체 소개.

  4. 다음 속성을 설정합니다. 디자이너를 사용하거나 코드에서 이 속성을 설정할 수 있습니다.

    Property

    설정값

    DataSource

    어떤 ID 번호가 어떤 항목에 해당하는지에 관한 정보를 포함하는 테이블입니다. 위 시나리오에서는 ItemTable입니다.

    DisplayMember

    컨트롤에 표시할 데이터 소스 테이블의 열입니다. 위 시나리오에서는 "Name"입니다. 코드에서 설정하려면 따옴표를 사용합니다.

    ValueMember

    저장된 정보를 포함하는 데이터 소스 테이블의 열입니다. 위 시나리오에서는 "ID"입니다. 코드에서 설정하려면 따옴표를 사용합니다.

  5. 프로시저에서 ControlBindingsCollection 클래스의 Add 메서드를 호출하여 컨트롤의 SelectedValue 속성을 폼 입력을 기록하는 테이블에 바인딩합니다. 코드를 사용하지 않고 디자이너의 속성 창에서 컨트롤의 DataBindings 속성에 액세스하여 이 작업을 수행할 수도 있습니다. 앞의 시나리오에서는 OrderDetailsTable이며 열은 "ItemID"입니다.

    ListBox1.DataBindings.Add("SelectedValue", OrderDetailsTable, "ItemID")
    
    listBox1.DataBindings.Add("SelectedValue", OrderDetailsTable, "ItemID");
    
    listBox1.get_DataBindings().Add("SelectedValue", OrderDetailsTable, "ItemID");
    

참고 항목

참조

ListBox 컨트롤 개요(Windows Forms)

ComboBox 컨트롤 개요(Windows Forms)

CheckedListBox 컨트롤 개요(Windows Forms)

개념

데이터 바인딩 및 Windows Forms

기타 리소스

옵션 목록 표시에 사용하는 Windows Forms 컨트롤