연습: 로컬 처리 모드의 ReportViewer Windows Forms 컨트롤과 함께 데이터베이스 데이터 소스 사용

이 연습에서는 Windows Forms 응용 프로그램 프로젝트에서 보고서를 만드는 방법과 응용 프로그램 사용자가 보고서를 볼 수 있도록 Windows Form에 ReportViewer 컨트롤을 추가하는 방법을 보여 줍니다.

사전 요구 사항

이 연습을 사용하려면 AdventureWorks2008 예제 데이터베이스에 대한 액세스 권한이 있어야 합니다.자세한 내용은 연습: AdventureWorks 데이터베이스 설치를 참조하십시오.

다음 단계에 따라 Windows Forms 응용 프로그램 프로젝트에 보고서를 추가합니다.이 예에서는 Microsoft Visual Basic으로 응용 프로그램을 만듭니다.

새 Windows 응용 프로그램 프로젝트 만들기

  1. Visual Studio을 엽니다.파일 메뉴에서 새로 만들기를 가리킨 다음 프로젝트를 선택합니다.

  2. 설치된 템플릿 창에서 Visual Basic을 선택한 다음 Windows Forms 응용 프로그램을 선택합니다.Visual Studio의 시작 설정에 따라 Visual Basic 노드가 다른 언어 아래에 있을 수 있습니다.

  3. 이름 입력란에 프로젝트 이름 ReportWalkthrough를 입력합니다.

  4. 위치 입력란에 프로젝트를 저장할 디렉터리를 입력하거나 찾아보기를 클릭하여 해당 디렉터리를 찾습니다.

  5. 확인을 클릭합니다.

    Windows Forms 디자이너가 열리고 방금 만든 프로젝트의 Form1.vb가 표시됩니다.

데이터 소스 연결 및 DataTable 정의

  1. 프로젝트 메뉴에서 새 항목 추가를 선택합니다.

  2. 새 항목 추가 대화 상자에서 데이터 집합을 클릭합니다.

  3. 데이터 집합의 이름을 입력한 다음 추가를 클릭합니다.프로젝트에 새 XML 스키마 파일이 추가되고 데이터 집합 디자이너가 열립니다.기본 이름은 DataSet1.xsd입니다.

  4. 데이터 집합 디자이너에서 도구 상자를 열고 TableAdapter를 데이터 집합 디자인 화면으로 끌어 옵니다.TableAdapter 구성 마법사가 열립니다.

  5. 데이터 연결 선택 페이지에서 새 연결을 클릭합니다.

  6. Visual Studio에서 데이터 소스를 처음 만드는 경우 데이터 소스 선택 페이지가 표시됩니다.데이터 소스 상자에서 Microsoft SQL Server를 선택합니다.

  7. 연결 추가 페이지에서 다음 단계를 수행합니다.

    • 서버 이름 상자에 AdventureWorks2008 데이터베이스가 위치한 서버를 입력합니다.

      기본 SQL Server Express 인스턴스는 (local)\sqlexpress입니다.

    • 서버에 로그온 섹션에서 데이터에 액세스할 수 있도록 하는 옵션을 선택합니다.Windows 인증 사용이 기본값입니다.

    • 드롭다운 목록에서 AdventureWorks2008을 클릭합니다.

    • 확인을 클릭하여 마법사로 돌아옵니다.

  8. 이전 단계에서 SQL Server 인증 사용을 지정한 경우 중요한 데이터를 문자열에 포함할지 아니면 응용 프로그램 코드에서 설정할지를 지정하는 옵션을 선택합니다.

  9. 다음을 클릭합니다.

  10. 응용 프로그램 구성 파일에 연결 문자열 저장 페이지에서 연결 문자열의 이름을 입력하거나 기본값 AdventureWorks2008ConnectionString을 사용합니다.다음을 클릭합니다.

  11. 명령 유형을 선택하십시오. 페이지에서 SQL 문 사용을 선택하고 다음을 클릭합니다.

  12. SQL 문을 입력하십시오. 페이지에서 다음 Transact-SQL 쿼리를 입력하여 AdventureWorks2008 데이터베이스에서 데이터를 검색한 다음 마침을 클릭합니다.

    SELECT d.name as Dept, s.Name as Shift, 
        e.BusinessEntityID as EmployeeID
    FROM (HumanResources.Department d
    INNER JOIN HumanResources.EmployeeDepartmentHistory e
        ON d.DepartmentID = e.DepartmentID)
    INNER JOIN HumanResources.Shift s
        ON e.ShiftID = s.ShiftID
    

    쿼리 작성기 단추를 클릭하여 쿼리 작성기에서 쿼리를 만든 다음 쿼리 실행 단추를 사용하여 확인할 수도 있습니다.쿼리에서 필요한 데이터가 반환되지 않는 경우 이전 버전의 AdventureWorks를 사용하는 것일 수 있습니다.AdventureWorks2008 버전의 AdventureWorks를 설치하는 방법은 연습: AdventureWorks 데이터베이스 설치를 참조하십시오.

  13. 생성할 메서드 선택 페이지에서 마침을 클릭합니다.

    데이터 집합 디자인 화면에 쿼리 결과로 반환된 열과 함께 DataTable1이 표시됩니다.

보고서 마법사를 사용하여 보고서 디자인

  1. 프로젝트 메뉴에서 새 항목 추가를 선택합니다.

  2. 새 항목 추가 대화 상자에서 보고서 마법사를 클릭합니다.

  3. 보고서 파일의 이름을 입력합니다.기본적으로 보고서 이름은 Report1.rdlc입니다.추가를 클릭합니다.

    보고서 마법사가 시작됩니다.

  4. 데이터 집합 속성 페이지의 데이터 소스 상자에서 사용자가 만든 데이터 집합을 선택합니다.

    사용자가 만든 DataTable을 사용하여 사용 가능한 데이터 집합 상자가 자동으로 업데이트됩니다.

  5. 다음을 클릭합니다.

  6. 필드 정렬 페이지에서 다음을 수행합니다.

    1. 사용 가능한 필드Dept행 그룹 상자로 끌어 옵니다.

    2. 사용 가능한 필드Shift열 그룹 상자로 끌어 옵니다.

    3. 사용 가능한 필드EmployeeID 상자로 끌어 옵니다.

    4. Sum(EmplyeeID) 옆의 화살표를 클릭하고 개수를 선택합니다.

  7. 다음을 두 차례 클릭하고 마침을 클릭합니다.

    .rdlc 파일이 만들어져 보고서 디자이너에서 열립니다.디자인한 테이블릭스가 이제 디자인 화면에 표시됩니다.

  8. .rdlc 파일을 저장합니다.

응용 프로그램에 ReportViewer 컨트롤 추가

  1. 디자인 모드에서 프로젝트의 Form1.vb 파일을 엽니다.

  2. 속성 창에서 크기 속성을 확장한 다음 높이 속성을 700으로 설정합니다.

  3. 도구 상자의 보고 섹션에서 ReportViewer 컨트롤을 폼으로 끕니다.

  4. 오른쪽 위 모퉁이에 있는 스마트 태그 문자 모양을 클릭하여 ReportViewer 컨트롤의 스마트 태그 패널을 엽니다.보고서 선택 드롭다운 목록을 클릭하고 방금 만든 보고서를 선택합니다.보고서를 선택하면 보고서에 사용된 데이터 소스 인스턴스가 자동으로 생성됩니다.DataSet(DataTable에 대한 ADO.NET 컨테이너), TableAdapter 구성 요소 및 보고서에 사용된 각 데이터 소스에 해당하는 BindingSource 개체를 인스턴스화하는 코드가 생성됩니다.

  5. 열린 스마트 태그 패널에서 부모 컨테이너에서 도킹을 선택합니다.

응용 프로그램 빌드 및 실행

  1. 빌드 메뉴에서 ReportWalkthrough 빌드를 클릭합니다.빌드 프로세스의 일부로 보고서가 컴파일됩니다.보고서에 사용된 식의 구문 오류와 같은 일부 오류가 태스크 목록에 추가되어 표시됩니다.

  2. F5 키를 눌러 응용 프로그램을 실행하고 폼에서 보고서를 봅니다.

참고 항목

참조

ReportViewer.Drillthrough

LocalReport.SubreportProcessing

ReportViewer.Drillthrough

LocalReport.SubreportProcessing

개념

ReportViewer 태스크 스마트 태그 패널 사용

기타 리소스

샘플 및 연습