본문 바로가기

C# WPF

[C# WPF]WPF DataGrid로 데이터베이스 연결하기

Windows Form에는 DataGridView Control 이 있습니다. WPF에서는 DataGridView Control이 없습니다. 대신 DataGrid Control을 사용하여 DB 내의 데이터를 표시할 수 있습니다.

여기에서는 액세스 데이터베이스를 연결하고 DB의 내용을 DataGrid에 표시하는 방법을 알아보겠습니다.

먼저 Visual Studio에서 WPF 프로젝트를 만듭니다.

데이터 메뉴에서 데이터 소스 표시를 선택하면 데이터소스 창이 아래 그림과 같이 나타납니다. 데이터 소스 창에서 새 데이터 소스 추가...를 누릅니다.

 

데이터 소스 구성 마법사가 나타납니다. 데이터 소스 형식 선택에서 데이터베이스을 선택하고, 데이터베이스 모델 선택에서 데이터 집합을 선택합니다.

 

다음 버튼을 눌러 데이터 연결 선택 창이 뜨면 새 연결을 누르고 원하는 데이터베이스 파일을 선택하여 연결합니다. 여기서 데이터 소스를 Access 데이터베이스 파일(OLE DB)로 선택하고 데이터베이스 파일 이름을 찾아보기 버튼을 누르고 찾아서 선택합니다.(다른 DB도 같은 방법으로 연결합니다) 연결 테스트 버튼을 눌러 데이터베이스가 잘 연결되었는지 테스트 합니다. 잘 연결되었다면 그림과 같이 메시지박스에 성공했다는 메시지가 뜹니다.

 

 

나는 MusicSales라는 Access DB를 연결하였습니다. 참고로 이 데이터베이스는 Douglas Bell 과 Mike Parr가 쓴 C# for Students 라는 책에서 가져왔습니다. 어떤 데이터베이스라도 관계없습니다.

확인 버튼을 누르면 데이터베이스 개체 선택 창에서 테이블을 선택할 수 있는 창이 나타납니다. MusicSales DB에는 Artists 와 Companies의 두가지 테이블이 있습니다. 이를 모두 선택해 줍니다. 마지막으로 마침 버튼을 클릭합니다. 

 

이제 DB가 연결되었습니다. 이제 아래 그림과 같이 데이터 소스 창에는 MusicSalesDataSet과 Artists, Companies의 테이블이 보입니다.

Artists 테이블을 WPF designer로 Drag & Drop 하겠습니다. 그러면 DataGrid에 Artists 테이블의 3개 필드가 보이게 됩니다. 

 

이제 프로그램을 실행하면, 다음과 같이 DB의 내용이 DataGrid 에 표시됩니다.

 

 

이 글에서는 WPF에서 DataGrid를 사용하는 방법을 설명했습니다. 데이터 소스 구성 마법사를 이용하여 DataBase를 연결하고 테이블의 내용을 DataGrid에 표시하는 방법을 Access DB의 예를 들어 설명했습니다.

참고로 이 내용은 msdn의 How to: Display Related Data in WPF Applications 를 보고 정리한 것입니다. http://msdn.microsoft.com/en-us/library/dd264862(v=vs.100).aspx

 

BeeEye Dmu