Share via


연습: Windows Form에 관련 데이터 표시

대부분의 응용 프로그램 시나리오에서는 주로 두 개 이상의 관련된 테이블에서 가져온 데이터에 대해 작업합니다. 즉, 부모-자식 관계를 사용하여 작업합니다. 예를 들어, 고객 레코드를 선택하면 해당 고객에 대한 주문이 표시되는 폼을 만들 수 있습니다. 폼에 관련 레코드를 표시하는 작업은 자식 BindingSourceDataSource 속성을 부모 BindingSource(자식 테이블 아님)로 설정하고 자식 BindingSourceDataMember 속성을 부모 테이블과 자식 테이블을 연결하는 데이터 관계로 설정하여 수행할 수 있습니다.

이 연습에서 수행할 작업은 다음과 같습니다.

  • Windows 응용 프로그램 프로젝트를 만듭니다.

  • 데이터 소스 구성 마법사를 사용하여 Northwind 데이터베이스의 Customers 및 Orders 테이블을 기반으로 응용 프로그램에서 데이터 집합을 만들고 구성합니다.

  • Customers 테이블의 데이터를 표시하는 컨트롤을 추가합니다.

  • 선택한 Customer에 따라 Orders를 표시하는 컨트롤을 추가합니다.

  • 응용 프로그램을 테스트합니다. 서로 다른 고객을 선택하고 선택한 고객에 대해 올바른 주문이 표시되는지 확인합니다.

사전 요구 사항

이 연습을 완료하려면 다음과 같은 요건이 필요합니다.

프로젝트 만들기

첫 단계에서는 Windows 응용 프로그램을 만듭니다.

Windows 응용 프로그램 프로젝트를 만들려면

  1. 파일 메뉴에서 새 프로젝트를 만듭니다.

  2. 프로젝트 이름을 RelatedDataWalkthrough로 지정합니다.

  3. Windows 응용 프로그램을 선택하고 확인을 클릭합니다. 자세한 내용은 Windows 기반 응용 프로그램 만들기를 참조하십시오.

    RelatedDataWalkthrough 프로젝트가 만들어져 솔루션 탐색기에 추가됩니다.

데이터 소스 만들기

이 단계에서는 Northwind 샘플 데이터베이스의 Customers 및 Orders 테이블을 기반으로 데이터 집합을 만듭니다.

데이터 소스를 만들려면

  1. 데이터 메뉴에서 데이터 소스 표시를 클릭합니다.

  2. 데이터 소스 창에서 새 데이터 소스 추가를 선택하여 데이터 소스 구성 마법사를 시작합니다.

  3. 데이터 소스 형식 선택 페이지에서 데이터베이스를 선택하고 다음을 클릭합니다.

  4. 데이터 연결 선택 페이지에서 다음 중 하나를 수행합니다.

    • Northwind 샘플 데이터베이스에 대한 데이터 연결이 드롭다운 목록에 표시되면 해당 연결을 선택합니다.

      또는

    • 새 연결을 선택하여 연결 추가/수정 대화 상자를 시작합니다. 자세한 내용은 연결 추가/수정 대화 상자(일반)를 참조하십시오.

  5. 데이터베이스에 암호가 필요하면 중요한 데이터를 포함하는 옵션을 선택하고 다음을 클릭합니다.

  6. 응용 프로그램 구성 파일에 연결 문자열 저장 페이지에서 다음을 클릭합니다.

  7. 데이터베이스 개체 선택 페이지에서 테이블 노드를 확장합니다.

  8. CustomersOrders 테이블을 선택한 다음 마침을 클릭합니다.

    NorthwindDataSet이 프로젝트에 추가되고 Customers 테이블이 데이터 소스 창에 나타납니다.

Customers 테이블의 데이터를 표시하는 컨트롤 만들기

고객 데이터(부모 레코드)를 표시하는 컨트롤을 만들려면

  1. 데이터 소스 창에서 Customers 테이블을 선택하고 드롭다운 화살표를 클릭합니다.

  2. 메뉴에서 자세히를 선택합니다.

  3. Customers 노드를 데이터 소스 창에서 Form1의 위쪽으로 끌어 옵니다.

    레코드 탐색에 사용되는 도구 스트립(BindingNavigator)과 설명 레이블이 있는 데이터 바인딩된 컨트롤이 폼에 나타납니다. NorthwindDataSet, CustomersTableAdapter, BindingSourceBindingNavigator가 구성 요소 트레이에 나타납니다.

Orders 테이블의 데이터를 표시하는 컨트롤 만들기

관계를 보여 주는 데이터 소스 창

각 고객의 주문(자식 레코드)을 표시하는 컨트롤을 만들려면

  • 데이터 소스 창에서 Customers 노드를 확장하고 Customers 테이블의 마지막 열인 확장 가능한 Orders 노드를 선택한 후 Form1의 아래쪽으로 끌어 옵니다.

    DataGridView가 폼에 추가되고 새 BindingSource(OrdersBindingSource) 및 TableAdapter(OrdersTableAdapter)가 구성 요소 트레이에 추가됩니다.

    참고

    속성 창을 열고 OrdersBindingSource를 선택합니다. DataSourceDataMember 속성을 검사하여 관련 레코드를 표시하기 위해 바인딩이 어떻게 구성되었는지 확인합니다. DataSource는 Orders 테이블이 아닌 CustomersBindingSource(부모 테이블의 BindingSource)로 설정되어 있습니다. DataMember 속성은 테이블을 서로 연결하는 DataRelation 개체의 이름인 FK_Orders_Customers로 설정되어 있습니다.

응용 프로그램 테스트

응용 프로그램을 테스트하려면

  1. F5 키를 눌러 응용 프로그램을 실행합니다.

  2. CustomersBindingNavigator를 통해 서로 다른 고객을 선택하여 DataGridView에 올바른 주문이 표시되는지 확인합니다.

다음 단계

응용 프로그램 요구 사항에 따라 마스터-세부 폼을 만든 후 몇 단계를 더 수행해야 할 수도 있습니다. 이 연습에서 다음과 같은 한 가지 사항을 보완할 수 있습니다.

참고 항목

작업

방법: Windows Forms 응용 프로그램에서 관련 데이터 표시

참조

데이터 소스 창

BindingSource 구성 요소 개요

BindingNavigator 컨트롤 개요(Windows Forms)

개념

데이터 응용 프로그램 개발의 새로운 기능

Visual Studio에서 데이터에 Windows Forms 컨트롤 바인딩

데이터 소스 개요

TableAdapter 개요

기타 리소스

데이터 연습