January 17

Ещё один нестандартный случай с шаблоном JasperReports

Имеется вот такая структура таблицы.

У верхней строчки "Stretch Type" — Container height. Это нужно для того, чтобы все ячейки были одинаковой высоты.

Ну и сам текст в этих ячейках растягивается по высоте.

У второй (серой) строчки положение "Float" — чтобы ячейки поднимались наверх к строке 1, а не зависали где попало.

При такой конфигурации в отчёте появлялись белые ячейки (обведены чёрным).

Всё это происходит из-за того, что текст в них не помещается, почему-то не растягивается и по итогу просто не печатается.

Для того, чтобы ячейки появились, необходимо задать момент вычисления значения. Для этого задаём "Evaluation time" и устанавливаем значение "Report".

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

Теперь, после доработки выглядит так.

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

Написал это всё на память и просто для сведения. Вдруг кому-то пригодится. Уже который раз замечаю, что JasperReports, несмотря на не самый удобный клиент для рисования, позволяет делать достаточно гибкие вещи с шаблонами и вот эта гибкость заключается в нахождении правильной комбинации из множества различных параметров настройки.

У нас много отчётов, где нужна "динамика" — скрыть столбцы, показать, сделать разные имена колонок в зависимости от условий. Там Jasper ведёт себя не очень — есть много неудобных моментов. Но что касается "статики" — пожалуйста, всё настраивается.