다음을 통해 공유


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

이 연습에서는 Microsoft Visual Studio Windows Forms 응용 프로그램의 보고서에 비즈니스 개체를 사용하여 개체 데이터 소스를 사용하는 방법을 보여 줍니다. 비즈니스 개체 및 개체 데이터 소스에 대한 자세한 내용은 Binding to Business Objects을 참조하십시오.

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

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

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

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

  3. 프로젝트 이름으로 BusinessObject를 입력하고 확인을 클릭합니다.

데이터 소스로 사용할 비즈니스 개체 만들기

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

  2. 새 항목 추가 대화 상자에서 클래스를 선택하고 파일 이름으로 BusinessObjects.cs를 입력한 다음 추가를 클릭합니다.

    새 파일이 프로젝트에 추가되고 자동으로 Visual Studio에서 열립니다.

  3. BusinessObjects.cs의 기본 코드를 다음 코드로 바꿉니다.

    using System;
    using System.Collections.Generic;
    
    // Define the Business Object "Product" with two public properties
    //    of simple datatypes.
    public class Product {
        private string m_name;
        private int m_price;
    
        public Product(string name, int price) {
            m_name = name;
            m_price = price;
        }
    
        public string Name {
            get {
                return m_name;
            }
        }
    
        public int Price {
            get {
                return m_price;
            }
        }
    }
    
    // Define Business Object "Merchant" that provides a 
    //    GetProducts method that returns a collection of 
    //    Product objects.
    
    public class Merchant {
        private List<Product> m_products;
    
        public Merchant() {
            m_products = new List<Product>();
            m_products.Add(new Product("Pen", 25));
            m_products.Add(new Product("Pencil", 30));
            m_products.Add(new Product("Notebook", 15));
        }
    
        public List<Product> GetProducts() {
            return m_products;
        }
    }
    
  4. 프로젝트 메뉴에서 솔루션 빌드를 선택합니다. 이렇게 하면 개체에 대한 어셈블리가 생성되며, 나중에 이를 보고서의 데이터 소스로 사용합니다.

보고서 마법사를 사용하여 프로젝트에 보고서 추가

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

  2. 새 항목 추가 대화 상자에서 보고서 마법사를 선택합니다. 보고서 이름을 입력한 다음 추가를 클릭합니다.

    데이터 소스 구성 마법사가 포함된 보고서 마법사가 시작됩니다.

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

  4. 데이터 개체 선택 페이지에서 목록에 Product가 표시될 때까지 BusinessObject 아래의 클래스 계층을 확장합니다. Product를 선택하고 마침을 클릭합니다.

    이제 보고서 마법사로 돌아옵니다. 새로운 데이터 소스 개체가 솔루션 탐색기의 프로젝트에 추가되어 있습니다.

  5. 데이터 집합 속성 페이지의 데이터 소스 상자에서 전역이 선택되어 있는지 확인합니다.

  6. 사용 가능한 데이터 집합 상자에서 Product가 선택되어 있는지 확인합니다.

  7. 다음을 클릭합니다.

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

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

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

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

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

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

보고서에 ReportViewer 컨트롤 추가

  1. 솔루션 탐색기의 디자인 보기에서 Windows Form을 엽니다. 기본적으로 폼 이름은 Form1.cs입니다.

  2. 도구 상자보고 그룹에서 ReportViewer 아이콘을 폼으로 끌어 옵니다.

  3. ReportViewer 컨트롤에서 오른쪽 위 모퉁이에 있는 스마트 태그 문자 모양을 클릭하여 스마트 태그 패널을 엽니다.

  4. 보고서 선택 목록에서 방금 디자인한 보고서를 선택합니다. 기본적으로 이름은 Report1.rdlc입니다. 보고서에 사용되는 각 개체 데이터 소스에 해당하는 ProductBindingSource라는 BindingSource 개체가 자동으로 생성됩니다.

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

BindingSource 개체에 데이터 소스 인스턴스 제공

  1. 솔루션 탐색기에서 Form1.cs를 마우스 오른쪽 단추로 클릭하고 코드 보기를 선택합니다.

  2. Form1.cs의 partial 클래스 정의 내에서 생성자 앞에 다음 코드를 첫 번째 줄로 추가합니다.

    // Instantiate the Merchant class.
    private Merchant m_merchant = new Merchant();
    
  3. Form1_Load() 메서드에서 RefreshReport 호출 앞에 다음 코드를 첫 번째 줄로 추가합니다.

    // Bind the Product collection to the DataSource.
    this.ProductBindingSource.DataSource = m_merchant.GetProducts();
    

응용 프로그램 실행

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

참고 항목

참조

ReportViewer.Drillthrough

LocalReport.SubreportProcessing

ReportViewer.Drillthrough

LocalReport.SubreportProcessing

개념

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

관련 자료

샘플 및 연습