Subreport переполнен на группе, которая не поддерживает переполнение

Недавно у меня возникла проблема с подзаголовком моего отчета JasperReports, в котором я получал следующую ошибку:

Subreport переполнен на полосе, которая не поддерживает переполнение.

Что происходит?

Ответ 1

Я исправил проблему, поэтому я подумал, что отправлю свое решение здесь, если кто-то сочтет это полезным.

Что нужно проверить:

  • Если вы находитесь в группе "Подробный", проверьте свой отчет "Заказ на печать". Он должен быть вертикальным. Горизонтальные отчеты о заказе печати не допускаются к переполнению в деталях.
  • Проверьте размеры вашего отчета. Ширина подрегистра должна быть меньше ширины отчета, а для не растущих полос (см. Пункт № 3 ниже), высота должна быть меньше высоты диапазона.
  • Некоторые группы растут, некоторые группы этого не делают. Помните об этом в своих подписях. Если у вас есть подчиненный отчет в верхнем или нижнем колонтитуле, убедитесь, что они не растут, а это означает, что ваш источник данных для этого подрепортажа не может отправлять слишком много элементов или отправлять повторяющиеся элементы, в которых ваш подотчет ожидает один или несколько элементов.

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

(пример - источник данных XML, но эта же концепция применяется к источникам данных SQL.)

например.

(net.sf.jasperreports.engine.data.JRXmlDataSource)$P{REPORT_DATA_SOURCE}
    ).subDataSource("/Order/Note")

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

Ответ 2

Я исправил ошибку. Решение состоит в том, чтобы использовать: Ориентация: Пейзаж Порядок печати: вертикальный

Ошибка произошла, когда я использовал значения Landscape и Horizontal

Ответ 3

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