2010-06-24 5 views
1

SQL Server Reporting Services 2005에서 보고서가 있습니다. 페이지 머리글과 바닥 글을 사용하며 하위 보고서가 없습니다. 본문 부분에는 몇 개의 작은 요소가 포함 된 다음 간단한 단일 열 테이블이 포함됩니다. 테이블에는 단일 헤더 행과 단일 세부 행이 있습니다. 헤더는 기본적으로 레이블입니다. 세부 행은 출력으로 간단한 Field! FieldName.Value가있는 단일 텍스트 상자입니다.SSRS 2005에서 매우 큰 텍스트 상자 및 페이지 매김 처리

이 경우 FieldName은 매우 가변 길이의 문자열입니다. 최대 8000 자 (일반적으로 2 페이지 분량 이하)의 문장이 될 수 있습니다. 텍스트에는 줄/단락 나누기 (반환)를 포함 할 수 있지만 다른 특수 서식은 포함 할 수 없습니다. 콘텐츠가 한 페이지에 들어가는 한 모든 것이 좋습니다. 텍스트가 한 페이지 (8.5x11)를 초과하면 텍스트가 매우 급하게 차단됩니다. 이것은 페이지 매김 문제이므로 PDF로 내보내거나 인쇄 레이아웃에서 보고서를 볼 때만 볼 수 있습니다.

첫 번째 페이지에서 행이 커질 수있는 최대 크기가있는 것처럼 보입니다. 그러면 첫 번째 페이지에서 행이 커지고 두 번째 페이지가 시작됩니다. 그러나이 단서는 본문과 관련하여주의 깊게 관리되지 않습니다. 그것은 줄의 중간에서 바로 일어날 수있어서 첫 페이지에 글자의 상단 절반을 보여주고 두 번째 페이지의 상단에 하단 절반을 나타냅니다.

명백히 이것은 전문가가 아닌 것처럼 보이고 너무 엉망인 줄의 가독성을 손상시킬 수 있으므로 분명히 용납되지 않습니다. 나는 또한 다음 페이지 (예 : g 및 p)에서 특정 글자의 매달린 꼬리를 여전히 볼 수 있지만 때로는 페이지가 균등하게 끝나는 경우가 있기 때문에 나 빠지게 될 것입니다.

두 번째 문제는 각 페이지에서 테이블 행 머리글을 반복하는 것이 좋습니다. 확실한 속성을 설정하면 "RepeatOnNewPage"는 아무 효과가 없습니다. 나는 이것이 정말로 하나의 수직으로 긴 줄을 보여 주려고 여전히 노력하고 있기 때문에 이것이라고 생각합니다. 세부적인 행 사이에서 헤더 및 분할 페이지를 멋지게 반복하는 것이 좋습니다. 그러나 이것은 기본적으로 텍스트의 큰 블록이며, 따라서 하나의 정말로 큰 행이므로 잘 분할하지 않습니다.

이 문제를 해결하려면 어떻게해야합니까? 반복되는 머리글 없이도 선의 중간에있는 텍스트를 자르지 않는 한 살 수 있습니다.

답변

0

결국, 잘라 내기 텍스트 문제는 문제의 텍스트 상자에서 비표준 채움으로 인한 것입니다.

어떤 이유에서든 기본값보다 큰 패딩 (모든 주위 2pt)을 사용하면 페이지 매기기가 신맛이 나는 것처럼 보였습니다. 나는 그것이 단락을 어기는 곳을 결정할 때 패딩을 고려하지 않는 알고리즘 때문이라고 상상한다. 기본 패딩을 사용하면 각 페이지에서 항상 선이 깨끗하고 정교하게 끝납니다.

해결 방법으로 (패딩이 레이아웃에 부여한 추가 공백이 좋았 기 때문에) 사각형을 사용하여 테두리를 얻었으며 텍스트 상자를 사각형보다 약 1/8 인치 작게 만들었습니다. 이렇게하면 상자 내부에 패딩이 주어지면서 페이지 매김을 통해 줄 바꿈시기를 올바르게 결정할 수 있습니다.

여전히 많은 불필요한 두통.

1

불행히도 페이지 나누기 미세 조정은 SSRS의 가장 큰 단점 중 하나입니다.

SSRS가 가져 오기 전에 긴 텍스트를 여러 행으로 나누는 것이 좋습니다. 단어 분리를 찾으려면 텍스트를 구문 분석해야합니다. 결과는 인쇄 된 보고서에서 줄 바꿈 위치를 알 수 없으므로 출력이 이상하게 보일 것입니다. 그러나 텍스트를 반으로 자르는 것보다 읽기 쉽습니다.

텍스트가 합리적으로 크기가 조정 된 단락으로 구성되어있는 경우 대신 그 방식으로 구문 분석 할 수 있습니다.

SQLCLR 및 System.Drawing.Graphics.MeasureString 메서드를 사용하여 출력을 미세 조정하기 위해 텍스트까지 측정 할 수도 있지만 마음의 향연에 대해서는이 경로를 권장하지 않습니다.

0

이전에 JC가 텍스트를 단락으로 나누었을 때 각 단락이 실제로 자체 행이 될 것이라고 제안한 것을 수행했습니다. SSRS의 한계를 감안할 때 꽤 잘 작동합니다.

주의해야 할 점은 단락이 올바르게 정렬되어 있는지 확인해야한다는 것입니다. 대부분의 경우 올바른 순서로 표시되지만 표에 정렬 힌트를 제공하려면 sortID가있는 열을 추가하는 것이 좋습니다.

0
R2 및 Visual Studio 2008 SSRS 2008 년

:

클릭 (안 오른쪽 클릭) 텍스트 상자와 속성 창 (VS의 오른쪽 아래)로 이동 -> 같은 페이지 = false입니다.

텍스트가 줄 사이에서 잘리고 다음 페이지에서 계속됩니다.

여기를 검색하면 많은 결과가 반환되지 않는다고 생각합니다.