다음을 통해 공유


HTML 출력을 위한 보고서 레이아웃 최적화(Visual Studio 보고서 디자이너)

이 항목에서는 ReportViewer 웹 서버 컨트롤에 표시되는 HTML 보고서를 위한 보고서 항목의 페이지 매김과 위치 지정에 대해 설명합니다. 이 정보는 보고서의 HTML 표시를 이해하는 데 도움이 됩니다. HTML 출력은 보고서를 실행할 때마다 다시 생성됩니다. 기본 제공 렌더링 확장 프로그램이 보고서 항목의 위치 지정 방법과 스타일을 포함하여 HTML 출력을 결정합니다. 기본 제공 HTML 렌더링 확장 프로그램은 사용자 지정할 수 없습니다. 생성된 HTML 태그를 변경하거나 기존 형식 요소를 다른 구현으로 바꿀 수 없습니다.

HTML 지원

몇 가지 예외가 있지만 HTML 4.0 보고서는 HTML 4.0 및 CSS2(Cascading Style Sheets level 2) 규정을 준수합니다. 모든 HTML은 UTF-8 인코딩을 사용하여 만들어집니다.

Note참고

이 항목에서는 Report 요소에 대한 참조를 만듭니다. Report 요소는 보고서 구조에 대한 공식적인 설명을 제공하는 RDL(Report Definition Language)의 일부입니다. RDL은 SQL Server 2005 온라인 설명서에 문서화되어 있습니다.

항목 위치 지정

보고서를 HTML로 출력하기 위해 컨트롤은 각 보고서 항목 집합의 항목을 포함할 테이블을 HTML로 작성합니다. 항목 위치는 보고서 레이아웃이 유지되도록 테이블 내에 지정됩니다. 보고서 항목 집합에 포함된 보고서 항목이 하나인 경우 테이블 없이 보고서 항목이 렌더링됩니다. 모든 위치 및 항목 크기는 밀리미터(mm)로 표시됩니다. 크기와 위치의 차가 0.2mm보다 작으면 0mm로 렌더링됩니다.

HTML은 겹치는 항목을 지원하지 않습니다. 보고서 항목이 다른 항목과 겹치면 항목이 겹치지 않도록 정렬됩니다. 이로 인해 항목이 원래 디자인된 위치가 아닌 다른 페이지 위치에 나타날 수 있습니다. 경우에 따라 디자인 도구에서는 항목이 겹쳐 보이지 않지만 실제로는 겹칠 수도 있습니다. 보고서 항목의 크기 및 위치 속성은 실제 위치를 나타냅니다. 렌더링 확장 프로그램은 먼저 항목의 Top 요소 값을 고려한 다음 Left 요소 값, ZIndex 값을 차례로 고려하여 겹치는 항목의 위치를 결정합니다.

페이지 매기기

HTML 렌더링 확장 프로그램은 다음과 같이 "sections"이라고도 하는 별도의 HTML 페이지로 페이지를 렌더링합니다.

  • 다음 항목을 페이지 나누기를 포함한 목록에 배치하거나 보고서 본문에 직접 배치할 경우 페이지 나누기가 렌더링됩니다.

    • PageBreakAtEnd 또는 PageBreakAtStartTrue로 설정된 사각형

    • PageBreakAtEnd 또는 PageBreakAtStartTrue로 설정된 목록 또는 목록 그룹

    • PageBreakAtEnd 또는 PageBreakAtStartTrue로 설정된 테이블 또는 테이블 그룹. 테이블에는 표시되는 열이 하나 이상 있어야 합니다. 테이블 그룹의 모든 부모 그룹은 표시되어야 합니다.

    • PageBreakAtEnd 또는 PageBreakAtStartTrue로 설정된 행렬 또는 행 그룹

    • 위 항목이 있는 포함된 보고서

  • 페이지 나누기가 포함된 항목 위에서 시작된 항목은 페이지 나누기 이전 페이지에 나타납니다.

이미 설명한 대로 HTML 렌더링 확장 프로그램은 항목에 있는 모든 페이지 나누기를 렌더링하려고 시도합니다. 하지만 페이지 나누기가 있는 두 개의 항목이 해당 페이지에 나란히 배치된 경우 예상치 못한 결과가 발생할 수 있습니다. 페이지 나누기가 있는 항목이 테이블, 행렬 또는 사각형에 포함된 경우에도 예상치 못한 결과가 발생할 수 있습니다.

항목 위쪽이 페이지 나누기가 있는 항목 아래쪽 위에 있을 경우 페이지 나누기가 있는 항목 다음에 배치된 항목은 같은 페이지에서 렌더링됩니다. 예를 들어 테이블 끝에 페이지 나누기가 있는 테이블의 바로 오른쪽에 놓인 텍스트 상자는 테이블과 같은 페이지에 나타납니다. 동일한 테이블 아래쪽의 오른쪽 하단에 놓인 텍스트 상자는 다음 페이지에 나타납니다.

또한 HTML 렌더링 확장 프로그램은 페이지의 대략적인 높이를 보고서의 속성에서 정의한 대로 페이지 나누기를 삽입니다. 이를 통해 페이지 나누기가 없는 큰 보고서를 렌더링할 때 아주 큰 HTML 페이지를 생성하는 것을 기본적으로 방지합니다.

스타일

Style 요소는 HTML 4.0의 CSS 스타일로 렌더링됩니다. HTML 4.0의 경우 각 보고서 항목에 대해 단일 CSS 스타일이 렌더링됩니다. 스타일의 이름은 보고서 및 포함된 보고서 전체에서 고유합니다. 다음 표에서는 RDL 스타일 특성이 HTML 스타일로 매핑되는 방법을 보여 줍니다.

RDL 스타일 설명 HTML 4.0

BorderColor

테두리 색

border

BorderStyle

테두리 스타일

border

BorderWidth

테두리 너비

border

BackgroundColor

배경색

background-color

BackgroundImage

배경 이미지의 URL

background-image

BackgroundRepeat

배경 이미지의 반복 패턴

background-repeat

FontStyle

글꼴 스타일(보통, 기울임꼴)

font-style

FontSize

글꼴 크기

font-family

FontWeight

글꼴 두께

font-weight

TextDecoration

텍스트 장식(밑줄, 취소선)

text-decoration

TextAlign

텍스트 가로 맞춤

text-align

VerticalAlign

텍스트 세로 맞춤

vertical-align

Color

텍스트 색

color

PaddingLeft

왼쪽 테두리와 텍스트 사이의 여백 크기

padding-left

PaddingRight

오른쪽 테두리와 텍스트 사이의 여백 크기

padding-right

PaddingTop

위쪽 테두리와 텍스트 사이의 여백 크기

padding-top

PaddingBottom

아래쪽 테두리와 텍스트 사이의 여백 크기

padding-bottom

LineHeight

텍스트 줄 높이

Line-height

Direction

오른쪽에서 왼쪽으로 쓰기 또는 왼쪽에서 오른쪽으로 쓰기

DIR 특성

Language

텍스트 언어

LANG 특성

UnicodeBiDi

양방향 알고리즘 변경

unicode-bidi

Note참고

테두리 스타일이 Double이고 테두리 너비가 2 pt이하인 테두리는 HTML 렌더링 확장 프로그램에서 한 줄로 렌더링됩니다. 테두리 스타일이 Double인 테두리는 너비가 2 pt 이상이어야 두 줄이 모두 표시됩니다.

참고 항목

개념

ReportViewer에 원격 처리 구성
클라이언트 보고서 정의(.rdlc) 파일 만들기
ReportViewer 웹 서버 및 Windows Forms 컨트롤