다음을 통해 공유


보고서에 사용자 지정 코드 추가(Visual Studio 보고서 디자이너)

보고서에 사용자 지정 함수를 추가하거나 외부 어셈블리의 함수에 대한 참조를 추가할 수 있습니다. 프로젝트를 컴파일하면 Microsoft.VisualBasic, System.Convert 및 System.Math 어셈블리가 자동으로 참조됩니다. 예를 들면 Microsoft.VisualBasic, AllMembers.T:System.ConvertAllMembers.T:System.Math가 있습니다. 보고서 속성 대화 상자나 보고서 정의의 CodeModules 요소를 사용하면 다른 어셈블리를 참조할 수 있습니다. 보고서 속성 대화 상자를 사용하여 사용자 지정 함수를 정의할 수도 있습니다. 보고서 정의에 사용자 지정 함수를 정의하려면 Code 요소를 사용합니다. 함수에 데이터 값 집합을 전달할 수 없으며 특히 사용자 지정 집계는 지원되지 않습니다.

보고서 전체에서 식에 사용되는 사용자 지정 코드를 작성할 수 있습니다. 이 작업은 보고서 내에 코드를 포함하거나 사용자 지정 어셈블리의 메서드를 참조하여 수행할 수 있습니다. 단일 보고서에서 여러 번 사용된 복합 함수에 대해 포함 코드를 사용합니다. 여러 보고서에서 공유하는 코드를 한 위치에서 관리하려면 사용자 지정 어셈블리를 사용합니다.

포함 코드

보고서 내에서 코드를 사용하려면 보고서에 코드 블록을 추가합니다. 이 코드 블록은 여러 메서드를 포함할 수 있습니다. 포함 코드의 메서드는 Microsoft Visual Basic으로 작성되고 인스턴스를 기반으로 해야 합니다.

보고서에 코드를 추가하려면

  1. 보고서 메뉴에서 보고서 속성을 클릭합니다.

    Note참고

    보고서 메뉴를 사용할 수 없으면 보고서 디자인 영역의 내부를 클릭합니다.

  2. 코드 탭에서 사용자 지정 코드에 코드를 입력합니다.

포함 코드의 메서드는 전역적으로 정의된 Code 멤버를 통해 사용할 수 있습니다. Code 멤버 및 메서드 이름을 참조하여 이러한 메서드에 액세스합니다. 다음 예에서는 StandardCost 필드 값을 달러 값으로 변환하는 ToUSD 메서드를 호출합니다.

=Code.ToUSD(Fields!StandardCost.Value)

사용자 지정 어셈블리

보고서에 사용자 지정 어셈블리를 사용하려면 먼저 어셈블리를 만들고 프로젝트에서 사용할 수 있게 한 다음 보고서에 어셈블리에 대한 참조를 추가하고 해당 어셈블리 내의 메서드를 참조할 수 있도록 보고서 내에서 식을 사용해야 합니다. 보고서가 보고서 서버에 배포될 때 사용자 지정 어셈블리도 보고서 서버에 배포해야 합니다.

보고서에 어셈블리 참조를 추가하려면

  1. 보고서 메뉴에서 보고서 속성을 클릭합니다.

    Note참고

    보고서 메뉴를 사용할 수 없으면 보고서 디자인 영역의 내부를 클릭합니다.

  2. 참조 탭에서 다음을 수행하십시오.

    • 참조에서 추가 단추 (...)를 클릭한 다음 참조 추가 대화 상자에서 어셈블리를 찾아서 선택합니다.

    • 클래스에 클래스 이름을 입력하고 보고서에서 사용할 인스턴스 이름을 입력합니다.

      Note참고

      인스턴스 기반 멤버에 대해서만 클래스 이름과 인스턴스 이름을 지정하십시오. 클래스 목록에서 정적 멤버를 지정하지 마십시오.

식의 사용자 지정 코드를 참조하려면 어셈블리 내에서 클래스의 멤버를 호출해야 합니다. 이 방법은 메서드가 정적인지 아니면 인스턴스 기반인지에 따라 달라집니다. 사용자 지정 어셈블리 내의 정적 메서드는 보고서 내에서 전체적으로 사용할 수 있습니다. 네임스페이스, 클래스, 메서드 이름을 사용하여 식의 정적 메서드에 액세스할 수 있습니다. 다음 예에서는 StandardCost 필드 값을 달러에서 파운드로 변환하는 ToGBP 메서드를 호출합니다.

=CurrencyConversion.DollarCurrencyConversion.ToGBP(Fields!StandardCost.Value)

인스턴스 기반 메서드는 전역적으로 정의된 Code 멤버를 통해 사용할 수 있습니다. Code 멤버를 참조한 다음 인스턴스와 메서드 이름을 참조하여 이러한 메서드에 액세스합니다. 다음 예에서는 StandardCost 필드 값을 달러에서 유로로 변환하는 인스턴스 메서드 ToEUR를 호출합니다.

=Code.m_myDollarCoversion.ToEUR(Fields!StandardCost.Value)

Note참고

보고서 디자이너에 사용자 지정 어셈블리를 로드하면 Visual Studio를 닫을 때까지 언로드되지 않습니다. 보고서 미리 보기를 수행할 경우 보고서에 사용된 사용자 지정 어셈블리를 변경한 다음 다시 보고서 미리 보기를 수행하면 변경 내용이 적용되어 나타나지 않습니다. 변경된 어셈블리를 다시 로드하려면 Visual Studio를 닫고 다시 연 다음 보고서 미리 보기를 수행하십시오.

사용자 지정 어셈블리를 사용하는 방법을 보려면 SQL Server 2005 온라인 설명서에서 "Using Custom Assemblies with Reports"를 검색할 수 있습니다. 온라인 설명서는 대부분의 Visual Studio 2008 버전에서 사용할 수 있습니다. 또한 MSDN(www.microsoft.com)에서 온라인 설명서를 볼 수 있습니다. 온라인 설명서의 사용자 지정 어셈블리에 대한 정보는 ReportViewer 컨트롤과 함께 배포되는 보고서에 적용됩니다.

참고 항목

참조

참조 편집 대화 상자(Visual Studio 보고서 디자이너)
클래스 편집 대화 상자(Visual Studio 보고서 디자이너)

개념

보고서에서 식 사용(Visual Studio 보고서 디자이너)