SSRS 2005 с матрицей и списком показывает пустую страницу между страницами данных при печати или экспорте в PDF - PullRequest
9 голосов
/ 12 января 2010

Я использую SQL Server Reporting Services 2005 - я создал портретный отчет формата А4 8,5 на 11 дюймов.

Отчет состоит из верхнего колонтитула, основного текста и нижнего колонтитула.

Тело состоит из нескольких текстовых полей в макете из 2 столбцов и под ними матрицы, помещенной в список.

Матрица состоит из 2 фиксированных строк (с 1 фиксированным текстовым столбцом в верхней строке и 2 столбцами полей набора данных в нижней) и количеством столбцов (каждый с шириной 0,875 дюйма и данными, взятыми из разных полей набора данных). ). Я использую групповое выражение = Ceiling (RowNumber (Nothing) / 5) в списке, чтобы столбцы матрицы начинались ниже предыдущих каждые 5 повторяющихся столбцов.

Проблема, с которой я сталкиваюсь, заключается в том, что между каждой страницей данных отчета появляется пустая страница (только с верхним и нижним колонтитулами), когда я экспортирую отчет в PDF или распечатываю его физически, если матрица охватывает несколько страниц данных. , На странице достаточно места для столбцов матрицы. Я пробовал следующее, но безрезультатно:

1) Я проверил, что Ширина страницы (8,5 дюйма)> = Ширина тела (7,20833 дюйма) + Левое поле (0) + Правое поле (0)

2) Я проверил, что Page Height (11in)> = Page.TopMargin (0) + Header.Height (2in) + Body.Height (6.60417in) + Footer.Height (0.89583in) + Page.BottomMargin (0 )

3) Я поиграл с разными значениями полей, от 0 до 0,5 дюймов для левого, правого, верхнего и нижнего полей.

4) Я установил для свойства текстового поля CanGrow значение false. Это также приводит к нежелательному эффекту отсечения текста, когда он не помещается, но даже в этом случае проблема с пустой страницей по-прежнему возникает.

5) Я поместил список и матрицу вместе в прямоугольник с пробелом (справа от матрицы) вне прямоугольника.

Единственное, что мешает появлению пустых страниц, - это изменение выражения группировки списка на = Ceiling (RowNumber (Nothing) / 2), то есть заставить матрицу начинать новую "таблицу" каждые 2 повторяющихся столбца (а не 5) , Это, однако, я не понимаю, так как есть еще три места справа от них, и просто ставить 2 !!

Буду очень признателен за любую помощь в этом! Заранее спасибо! Тим

Ответы [ 2 ]

12 голосов
/ 16 марта 2011

Для тех, кто сталкивался с подобной проблемой в SSRS 2008, я нашел единственный способ исправить это, установив для свойства ConsumeContainerWhitespace в самом отчете значение true.

.

В моем случае проблема заключалась в том, что матрица на странице была узкой в ​​режиме дизайна с большим количеством пробелов справа. При визуализации матрица отображалась намного шире (из-за данных), но средство визуализации также включало бы пробелы, в результате чего отчет был намного шире, чем фактическая страница.

Если вы установите это свойство, дополнительный пробел не будет обработан.

0 голосов
/ 23 ноября 2010

Если я вас правильно понимаю, я решил эту проблему раньше. Матрица требует дополнительных пробелов, решение, которое я использовал, выглядит следующим образом:

Вам нужно использовать пустое пространство.

[------- ширина страницы ------]
[матрица] [- взлом текстового поля -]

Я думаю, вы можете сделать текстовое поле невидимым

Примечание. Когда я пытался сделать это в 2005 году, это работало только тогда, когда невидимое текстовое поле занимало всю строку.

...