보고서의 식에 대한 전역 컬렉션(Visual Studio 보고서 디자이너)
ReportViewer 컨트롤에서 처리되는 보고서 정의에 대해 작성한 식에 전역 개체 컬렉션 참조가 포함될 수 있습니다. 사용할 수 있는 5개 전역 개체 컬렉션에는 Fields, Globals, Parameters, ReportItems 및 User가 있습니다. 이러한 컬렉션에 액세스하기 위해 표준 Visual Basic 컬렉션 구문을 사용할 수 있습니다. 이러한 구문의 예는 다음과 같습니다.
Collection!ObjectName
=User!Language
Collection.Item("ObjectName")
=User.Item("Language")
Collection("ObjectName")
=User("Language")
속성 구문을 사용하여 Globals 및 User 컬렉션의 항목을 액세스할 수도 있습니다. 이러한 예는 다음과 같습니다.
Collection.ObjectName
=Globals.PageNumber
Globals 및 Users 컬렉션의 멤버는 variants를 반환합니다. 특정 데이터 형식이 필요한 식에서 전역 변수를 사용하려는 경우 CDate(Globals!ExecutionTime)
과 같이 먼저 변수를 캐스팅해야 합니다.
필드
Fields 컬렉션에는 현재 데이터 원본 내의 필드가 포함됩니다. 이러한 필드는 보고서의 텍스트 상자에 데이터를 표시하는 데 사용되지만 다른 보고서 항목, 속성 및 함수에서도 사용될 수 있습니다. Fields 컬렉션 내의 항목은 두 개의 속성 Value 및 IsMissing을 갖습니다. Value 속성은 데이터 원본의 필드에 대해 검색된 값을 반환합니다. IsMissing 속성은 필드가 데이터 원본에 존재하는지 여부를 나타내므로 필드의 변수 집합을 반환하는 쿼리에 유용합니다. 누락된 필드의 Value 속성은 Null입니다.
필드 개체에 액세스하는 데 Fields!Product.Value 같은 속성 구문을 가장 일반적으로 사용하며 위에서 설명한 컬렉션 구문을 사용할 수도 있습니다. 일부 데이터 원본은 필드에 대한 추가 속성을 제공하며 컬렉션 구문을 사용하여 이러한 속성에 액세스할 수 있습니다. 데이터 원본이 속성을 지원하지 않거나 쿼리가 실행될 때 필드가 없으면 String과 Object 유형의 속성에는 Null, Integer 유형의 속성에는 0 속성 값을 반환합니다.
보고서에는 보고서의 각 데이터 원본에 대해 하나의 가상 Fields 컬렉션이 포함됩니다. 필드는 컬렉션 내에서 고유해야 하지만 같은 필드 이름이 여러 컬렉션에 존재할 수 있습니다. 데이터 영역 내의 필드를 참조할 때 데이터 영역의 데이터 테이블이나 비즈니스 개체에 따라 사용될 컬렉션이 결정됩니다. 집계 식 내의 필드를 참조할 때 범위에 대한 데이터 원본에 따라 사용될 컬렉션이 결정됩니다.
전역 변수
Globals 컬렉션에는 보고서의 전역 변수가 포함됩니다. 다음 표에서는 Globals 컬렉션의 멤버를 설명합니다.
멤버 | 유형 | 설명 |
---|---|---|
ExecutionTime |
DateTime |
보고서가 실행되기 시작한 날짜와 시간입니다. |
PageNumber |
Integer |
현재 페이지 번호입니다. 페이지 머리글과 바닥글에서만 사용될 수 있습니다. |
ReportFolder |
String |
보고서를 포함하는 폴더의 전체 경로입니다. 여기에는 보고서 서버 URL이 포함되지 않습니다. 이 멤버는 서버 보고서에만 적용됩니다. |
ReportName |
String |
보고서 서버 데이터베이스에 저장되어 있는 보고서의 이름입니다. 이 멤버는 서버 보고서에만 적용됩니다. |
ReportServerUrl |
String |
보고서가 실행 중인 보고서 서버의 URL입니다. 이 멤버는 서버 보고서에만 적용됩니다. |
TotalPages |
Integer |
보고서의 총 페이지 수입니다. 페이지 머리글과 바닥글에서만 사용될 수 있습니다. |
전역 변수의 예는 다음과 같습니다.
보고서 바닥글의 텍스트 상자에 있는 이 식은 보고서의 페이지 번호와 총 페이지 수를 제공합니다.
=Globals.PageNumber & " of " & Globals.TotalPages
이 식은 보고서 이름과 보고서가 실행된 시간을 제공합니다. 시간 형식은 .NET Framework 형식 문자열(간단한 날짜)로 지정합니다.
=Globals.ReportName & ", dated " & Format(Globals.ExecutionTime, "d")
매개 변수
Parameters 컬렉션에는 보고서 내의 보고서 매개 변수가 포함됩니다. 매개 변수는 매개 변수에 따라 보고서 모양을 변경하는 필터나 다른 함수에서 사용될 수 있습니다. Parameters 컬렉션 내의 항목은 두 개의 속성 Value 및 Label을 갖습니다. Value 속성은 EmployeeID와 같은 매개 변수의 값을 반환합니다. Label 속성은 EmployeeName과 같이 사용자에게 익숙한 매개 변수 레이블을 반환합니다. 레이블이 지정되어 있지 않은 경우 Label 속성의 값은 Value 속성의 값과 같습니다. 두 개 이상의 레이블이 같은 값에 연결되어 있는 경우 일치하는 첫 번째 레이블이 사용됩니다. 속성 구문이나 컬렉션 구문 중 하나를 통해 매개 변수에 액세스할 수 있습니다.
ReportItems
ReportItems 컬렉션에는 보고서 내의 텍스트 상자가 포함됩니다. ReportItems 컬렉션 내의 항목은 Value 속성만 가집니다. ReportItems 항목의 값은 보고서에 있는 다른 필드의 데이터를 표시하거나 계산하는 데 사용될 수 있습니다. 현재 텍스트 상자의 값에 액세스하려면 Me.Value 또는 간단하게 Value를 사용합니다. Me.Value와 Value는 집계 함수 내부에 사용할 수 없습니다. 이러한 함수 중 하나에서 텍스트 상자의 값에 액세스하려면 전체 구문을 사용합니다.
보고서 항목 식의 예는 다음과 같습니다.
텍스트 상자에 있는 이 식은 Textbox1이라는 텍스트 상자의 값을 표시합니다.
=ReportItems!Textbox1.Value
사용자
User 컬렉션에는 보고서를 실행 중인 사용자에 대한 데이터가 포함됩니다. 다음 표에서는 User 컬렉션의 멤버를 설명합니다.
멤버 | 유형 | 설명 |
---|---|---|
Language |
String |
보고서를 실행하는 사용자의 언어 ID입니다. |
UserID |
String |
보고서를 실행하는 사용자의 ID입니다. |
참고 항목
개념
ReportViewer 컨트롤(Visual Studio)
보고서에서 식 사용(Visual Studio 보고서 디자이너)
보고서에서 보고서 매개 변수 정의(Visual Studio 보고서 디자이너)
보고서에 페이지 머리글 및 페이지 바닥글 추가(Visual Studio 보고서 디자이너)
ReportViewer에 원격 처리 구성