Пустые страницы в RDLC-отчете - PullRequest
39 голосов
/ 28 января 2011

У меня есть отчет rdlc, который содержит табликс, ничего другого.Табликс расширяется в горизонтальном направлении, чтобы показать дни, и в вертикальном направлении, чтобы показать группы.

Табликс работает, как и ожидалось, до тех пор, пока я устанавливаю ширину области содержимого, равную ширине таблицы.

Если я увеличу размер содержимого до его фиксированного размера (приблизительно PageWidth-PageBorders) и запусту отчет, каждая вторая страница будет пустой страницей.
Однако в таблице используется только одна страница.Каждая нечетная страница абсолютно пуста.Кажется, что tablix добавляет свое горизонтальное расширение к текущей определенной ширине содержимого и затем вычисляет переполнение.

Версия средства просмотра отчетов - 3 (распространяемая версия 2010)

Есть ли у кого-нибудь решение для такого странного поведения?

Обновление

Если я экспортирую отчет в Excel, я вижу, что на правом сайте таблицы есть столбец, который ровно такой же длины, как и сгенерированные элементы.за дни.Кажется, это действительно ошибка или функция, которую я не вижу, как деактивировать.
Я также пытался создать такую ​​же конструкцию из таблицы, и это привело к той же проблеме, что не удивительно, потому чтовнутренне таблица также является табликсом.

Обновление 1

Если установить для свойства ConsumeContainerWhitespace отчета значение true, вышеуказанная тестовая версия работает.Но если я помещу другие элементы в «белую» область, эффект повторяется.

Ответы [ 16 ]

3 голосов
/ 04 октября 2013

Нижний колонтитул страницы также может вызвать проблему.Так что, если он у вас есть, лучше разместить его как можно ближе к основному контенту.В этом случае вам не нужно устанавливать свойство Body.Height.

3 голосов
/ 08 октября 2011

Вам необходимо установить свойство ширины отчета для фактической ширины страницы печати.В моем случае помогло 6 дюймов.

2 голосов
/ 31 декабря 2013

Моя 4x2 дюймовая этикетка печатала 3 дополнительные страницы для отчета на одну страницу.

Чтобы исправить это, я уменьшил атрибут Body.Size, чтобы он был таким же или меньшим, чем Report.PageSize минус сумма, соответствующая Report.Margins.

1 голос
/ 11 апреля 2019

У меня была похожая проблема, я решил ее следующим образом

Например, для ширины должно быть выполнено следующее уравнение

PageSize >= LeftMargin +  BodySize + RightMargin 

где найти BodySize?

Нажмите F4 -> Нажмите где-нибудь внутри отчета -> вы найдете свойство тела (посмотрите на свойство size, примите значение ширины)

Где найти отчет PageSize?

щелкните где-нибудь за пределами отчета -> вы найдете свойство отчета (посмотрите на PageSize (примите значение его ширины) и margins (Left, right, ..).), возьмите значения левого и правого полей)

возьмите значения из этих свойств и проверьте, соответствуют ли они

PageSize >= LeftMargin +  BodySize + RightMargin 
1 голос
/ 30 июня 2016

Или вы можете просто графически изменить размер вашего отчета до точного нижнего края последнего элемента управления отчетом или надписи.

Или добавить нижний колонтитул, чтобы создать пространство.

enter image description here

1 голос
/ 03 июля 2013

Попробуйте это,

Просто убедитесь, что все необходимые данные есть в отчете, затем выберите таблицу или матрицу и сожмите ее влево, а при необходимости - в верхний левый уголБелая страница Проблема решена.

Но убедитесь, что клетки сжимаются правильно, будьте нежны (надеюсь, у вас это получилось !!)

...