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

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

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

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

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

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

Обновление

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

Обновление 1

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

Ответы [ 16 ]

41 голосов
/ 29 января 2011

Установка свойства страницы ConsumeContainerWhitespace=true (в диалоге свойств, F4) помогла.Однако в любом случае было сложно построить правильный отчет.В начале это работало, только если я добавил весь дополнительный контент в верхний и нижний колонтитулы страницы.Но это было неприемлемо.После долгих попыток мне удалось сделать отчет по желанию.Однако я не очень понимаю логику позади.

Я имею в виду, что я уже сделал такие отчеты (растущие в обоих направлениях, по горизонтали и вертикали вместе) без каких-либо проблем, и я не знаю, в чем отличие этого отчета здесь.В этом отчете определенно воспроизводимо, что свойство ConsumeContainerWhitespace имеет значение.Но почему это никогда не случается со мной для подобных отчетов, которые я сделал, я не знаю.Также я не знаю, почему мне пришлось сначала обойти круг, прежде чем компоновщик принял мой дизайн.

14 голосов
/ 13 октября 2014

Лучший способ решить эту проблему, например, для страницы А4, где Width=21 cm и Height=29.7 cm

Теперь Маржа Left=1 cm и Right=1 cm, поэтому вы можете использовать ширину 19 см.

Когда вы понимаете этот базовый расчет, это означает, что ваша проблема решена. Вы можете настроить свойства размера страницы отчета, щелкнув правой кнопкой мыши свойство отчета => pagesetup.

9 голосов
/ 10 апреля 2012

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

7 голосов
/ 16 февраля 2017

решение простое ConsumeContainerWhiteSpace=True (вы найдете это в окне свойств для «отчета»), вы устанавливаете размер бумаги в главном меню / отчете / свойствах отчета, например, «А4», а затем вы проверяете этот размер бумаги больше body + header + footer + margins.

7 голосов
/ 10 сентября 2012

Существует путаница в дизайне страницы. Разработчики могут подумать, что разрабатываемый отчет - это WYSIWYG, но на самом деле это НЕ !! Microsoft reportviewer примет вашу разработанную страницу как контент !! и добавьте поля, определенные на внешней стороне вашей страницы, и выясните, что ваша страница никогда не помещается на одной странице !!

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

6 голосов
/ 12 января 2013

У меня была та же проблема, пока я не поиграл с height и width тела отчета. :)

5 голосов
/ 12 июня 2017

Я недавно столкнулся с этой проблемой.

Основная причина может быть: В теле вашего отчета есть какой-то пустой верхний колонтитул или где-то еще. Решение: 1, щелкните тело отчета2, перейдите в окно свойств, вы увидите свойство размера тела3, проверьте размер тела, вы можете найти странное число, например, 9.6654in, 1.5625in.это означает, что у вас есть пустая верхняя часть нижнего колонтитула, изменяйте размер по высоте или ширине до тех пор, пока вы не увидите пустого поля.

5 голосов
/ 04 сентября 2015

Пожалуйста, выберите «Отчет» в селекторе объектов в верхней части окна. и сделать ConsumeContainerWhiteSpace = true если проблема не исчезнет, ​​размер вашего отчета rdlc должен быть меньше размера вашего тела отчета.!

4 голосов
/ 27 июля 2018

Я работал с отчетом RDLC, который печатал дополнительную пустую страницу. Я попробовал все обычные приемы и все, что мог придумать, пока не понял, что проблема вызвана дополнительным количеством видимых пробелов в правой части поля отчета. Один из объектов в отчете («Прямоугольник») имел ширину в один или два пикселя, и это препятствовало изменению видимого пространства отчета. Как только я удалил всю лишнюю ширину, отчет начал печататься с ожидаемым количеством страниц.

Visual Studio 2017 (15.7.5) + расширение конструктора отчетов Microsoft Rdlc (v14.2)

enter image description here

3 голосов
/ 15 ноября 2017

Необходимо убедиться, что в вашем отчете RDLC есть:

  1. ConsumeContainerWhiteSpace = true (открыть по нажатию клавиши F4)
  2. Размер тела отчета <= Размер страницы + Размер поля,(открыть Ctrl + Alt + D) </li>
...