다음을 통해 공유


데이터 바인딩 및 Windows Forms

업데이트: 2007년 11월

Windows Form에서는 일반적인 데이터 소스뿐 아니라 데이터를 포함하는 거의 모든 구조에 바인딩할 수 있습니다. 런타임에 계산되거나, 파일에서 읽거나, 다른 컨트롤의 값에서 파생되는 값 배열에 바인딩할 수 있습니다.

더 나아가 컨트롤의 모든 속성을 데이터 소스에 바인딩할 수 있습니다. 일반적인 데이터 바인딩에서는 일반적으로 표시 속성(예: TextBox 컨트롤의 Text 속성)을 데이터 소스에 바인딩합니다. .NET Framework에서는 바인딩을 통해 다른 속성을 설정할 수도 있습니다. 바인딩을 사용하여 다음과 같은 작업을 수행할 수 있습니다.

  • 이미지 컨트롤의 그래픽 설정

  • 하나 이상의 컨트롤에 대한 배경색 설정

  • 컨트롤의 크기 설정

기본적으로 데이터 바인딩은 폼에서 런타임에 액세스할 수 있는 컨트롤의 속성을 자동으로 설정할 수 있는 방법입니다.

데이터 바인딩 형식

Windows Form에서는 단순 바인딩과 복합 바인딩이라는 두 가지 데이터 바인딩 형식을 이용할 수 있습니다. 이 두 가지는 서로 다른 이점을 제공합니다.

데이터 바인딩 형식

설명

단순 데이터 바인딩

컨트롤에서 데이터 집합 테이블에 있는 열 값과 같은 단일 데이터 요소에 바인딩하는 기능입니다. 이 형식은 일반적으로 단일 값만 표시하는 컨트롤인 TextBox 컨트롤 또는 Label 컨트롤과 같은 컨트롤에서 일반적으로 사용하는 바인딩 형식입니다. 실제로 컨트롤의 모든 속성을 데이터베이스의 필드에 바인딩할 수 있습니다. Visual Studio에서는 이 기능이 폭넓게 지원됩니다.

복합 데이터 바인딩

컨트롤에서 둘 이상의 데이터 요소, 즉 일반적으로 데이터베이스에 있는 둘 이상의 레코드에 바인딩하는 기능입니다. 복합 바인딩은 목록 기반 바인딩이라고도 합니다. 복합 바인딩을 지원하는 컨트롤의 예로는 DataGridView, ListBoxComboBox 컨트롤이 있습니다. 복합 데이터 바인딩의 예제를 보려면 방법: 데이터에 Windows Forms ComboBox 또는 ListBox 컨트롤 바인딩을 참조하십시오.

BindingSource 구성 요소

Windows Forms에서는 데이터 소스를 BindingSource 구성 요소에 바인딩한 다음 컨트롤을 BindingSource에 바인딩하는 방식으로 데이터 바인딩을 간단하게 수행할 수 있습니다. BindingSource는 단순 바인딩 또는 복합 바인딩 시나리오에서 사용할 수 있습니다. 두 경우 모두 BindingSource는 데이터 소스와 바인딩된 컨트롤 간의 중간 매개자 역할을 수행하면서 변경 알림, 현재 위치 관리 및 기타 서비스를 제공합니다.

데이터 바인딩을 사용하는 일반적인 시나리오

거의 모든 상업용 응용 프로그램에서는 대개 데이터 바인딩을 통해 특정 형식의 데이터 소스에서 읽어온 정보를 사용합니다. 다음 목록에서는 데이터를 표시하고 조작하는 방법으로 데이터 바인딩을 사용하는 가장 일반적인 시나리오 몇 가지를 보여 줍니다.

시나리오

설명

보고서

보고서는 인쇄된 문서에 데이터를 표시하고 요약할 수 있는 융통성 있는 방법을 제공합니다. 데이터 소스의 선택된 내용을 화면이나 프린터에 인쇄하는 보고서를 만들어야 하는 경우는 아주 많습니다. 일반적인 보고서에는 목록, 송장 및 요약이 포함됩니다. 항목은 대개 목록 열에 맞게 형식이 지정되고 각 목록 항목 아래에 하위 항목이 구성되지만 데이터에 가장 적합한 레이아웃을 선택해야 합니다.

데이터 입력

관련된 많은 양의 데이터를 입력하거나 사용자에게 정보 입력을 요구하는 일반적인 방법은 데이터 입력 폼을 사용하는 것입니다. 사용자는 입력란, 옵션 단추, 드롭다운 목록 및 확인란을 사용하여 정보를 입력하거나 선택할 수 있습니다. 그러면 정보가 제출되고 입력된 정보는 이와 같은 기반 구조를 갖는 데이터베이스에 저장됩니다.

마스터/세부 사항 관계

마스터/세부 사항 응용 프로그램은 서로 관련된 데이터를 보기 위한 하나의 형식입니다. 특히 두 개의 관련 데이터 테이블이 연결되어 있습니다. 기본 업무에서 고객과 각 고객의 주문을 연결해 주는 관계가 형성된 "Customers" 테이블과 "Orders" 테이블을 예로 들 수 있습니다. 두 개의 Windows Forms DataGridView 컨트롤을 가진 마스터/세부 사항 응용 프로그램을 만드는 방법에 대한 자세한 내용은 방법: 두 개의 Windows Forms DataGridView 컨트롤을 사용하여 마스터/세부 폼 만들기를 참조하십시오.

테이블 조회

또 다른 일반적인 데이터 표시/조작 시나리오는 테이블 조회입니다. 많은 데이터를 표시하고 조작하는 데 ComboBox 컨트롤이 종종 사용됩니다. 중요한 것은 ComboBox 컨트롤에 표시되는 데이터가 데이터베이스에 기록되는 데이터와 다르다는 것입니다. 예를 들어, 식품점에서 취급하는 항목을 표시하는 ComboBox 컨트롤이 있을 경우 제품의 이름(빵, 우유, 달걀)을 보고 싶을 것입니다. 그러나 데이터베이스 안에서 쉽게 정보를 검색하고 데이터베이스를 정규화하기 위해서는 주어진 주문에 대한 항목 정보를 항목 번호(#501, #603 등)로 저장해야 합니다. 따라서 폼의 ComboBox 컨트롤에 있는 식품 항목의 "이름"과 주문에 있는 관련 항목 번호 사이에는 암시적인 연결이 만들어집니다. 이것이 바로 테이블 조회의 기본입니다.

참고 항목

작업

방법: 데이터 소스에 Windows Forms DataGrid 컨트롤 바인딩

참조

Binding

기타 리소스

Windows Forms 데이터 바인딩

BindingSource 구성 요소