Афоризм
Я всех умней, но это не заметно
Наталья Резник
Последние статьи

 • Активности Android
Многоэкранные Android приложения
 • Fragment dynamic
Динамическая загрузка фрагментов в Android
 • Fragment lifecycle
Жизненный цикл Fragment'ов в Android
 • Fragment example
Пример Fragment'ов в Android
 • Data Binding
Описание и пример Data Binding
 • Пример MVVM
Пример использования MVVM в Android
 • Компонент TreeTable
Описание компонента TreeTable для Swing
 • Пример TreeTable
Пример использования TreeTable
 • Хранилища Android
Внутренние и внешние хранилища данных
 • Пример SQLite
Пример использования SQLite в Android
 • WebSocket
Описание и пример реализации WebSocket
 • Визуальные компоненты
Улучшен компонент выбора даты из календаря
 • Анимация jQuery
Описание и примеры анимации элементов DOM
 • APK-файл Android
Создание apk-файла для android устройств, .dex файлы
 • платформа JaBricks
Платформа OSGi-приложения JaBricks
Поддержка проекта

Если Вам сайт понравился и помог, то будем признательны за Ваш «посильный» вклад в его поддержку и развитие
 • Yandex.Деньги
  410013796724260

 • Webmoney
  R335386147728
  Z369087728698

Редактор jrxml-шаблонов iReport

Визуальный редактор iReport Designer предназначен для создания jrxml-шаблонов, используемых при создании отчетов в JasperReports. Скачать последнюю версию iReport Designer можно на официальной странице производителя Jaspersoft Community.

На момент написания данной статьи последней версией была iReport-5.6.0, с которой возникли небольшие сложности, связанные с JVM версии 1.8.0.131. Так на одном компьютере (Windows-10, x64) iReport стартовал сразу же без проблем, а на другом -- (Windows-7, x32) не захотел работать. После определения в файле «iReport-5.6.0/etc/ireport.conf» пути к jdk1.7.0_79, проблема была решена.

На странице описывается применение iReport Designer для создания jrxml-шаблона, который используется в примере на странице JasperReports. Там же приводится и описание структуры jrxml-шаблона и исходные данные для отчета.

Выбор типа шаблона

Для определения типа шаблона необходимо выбрать пункт меню File/New, которое откроет окно с набором различных типов.

Выбираем шаблон по умолчанию. Далее нажимаем на кнопку «Open this Template» и переходим к определению наименования шаблона и директории его расположения.

Если нажать на первом шаге кнопку «Launch Report Wizard», то дополнительно можно будет определить источник данных и параметры подключения к нему, поля в отчете и т.д. Для первого отчета это можно пропустить, тем более что в примере база данных не используется.

После определения первичных параметров откроется окно с заготовкой jrxml-шаблона. Слева в интерфейса располагается Report Inspector, определяющий структуру шаблона. По центру сам шаблон, который можно переключать в режим Designer, XML и Preview кнопками, расположенными сверху над ним. Справа располагается панель свойств Properties элементов шаблона. Дополнительные панели различных свойств шаблона представлены в пункте меню Window.

Общие настройки

Первоначально проверяем язык Language. Для этого выделяем корневой элемент в Report Inspector и в панели свойств Properties меняем Language с Groovy (по умолчанию) на Java.

Определение стиля шаблона

Для определения стиля jrxml-шаблона выделяем элемент Styles и правой клавишей мыши выбираем контекстный пункт меню Add/Style.

В панели свойств устанавливаем соответствующие значения : «Pdf Font name», «Pdf Encoding».

Можно напрямую определить значения стиля в jrxml-шаблоне после перевода его в режим XML.

<style name="Default" isDefault="true"
          pdfFontName="./font/ARIAL.TTF"
          pdfEncoding="Cp1251"/>

Использование шрифта ./font/ARIAL.TTF позволяет локализовать кириллицу.

Управление секциями шаблона

Удаляем не используемые в нашем первом отчете секции. Для этого необходимо выделить соответствующую секцию в панели Report Inspector и в контекстном меню (открыть правой клавишей мыши), выбрать пункт «Delete Band». Не используемая в шаблоне секция становится в Report Inspector серой. Чтобы добавить секцию в шаблон необходимо в контекстном меню выбрать «Add Band».

В шаблоне оставляем только секции Title, Column Header и Detail1.

Добавление поля, параметра, переменной

Для добавления поля в шаблон необходимо выделить элемент Fields в «Report Inspector» и выбрать в контекстном меню «Add Field».

После этого следует определить наименование и тип/класс поля в панели свойств Properties. Дополнительно можно добавить комментарий к полю (Description).

К элементу Fields добавляем поля state(java.lang.String), item(java.lang.String), date(java.util.Date), quantity(java.lang.Integer), price(java.lang.Integer).

К элементу Parameters добавляем параметр DATE и определяем тип java.util.Date.

К элементу Variables добавляем переменную cost c типом java.lang.Integer, для которой необходимо определить в качестве свойства выражение «Variable Expression». Это можно сделать в отдельном окне, нажав на кнопку "…" в поле «Variable Expression» панели свойств.

Визуальные компоненты jrxml-шаблона

Для формирования интерфейса шаблона необходимо использовать панель «Palette», которую можно открыть либо горячими клавишами Ctrl+Shift+8, либо выбрать пункт меню Window/Palette. Панель «Palette» будет помещена в панель свойств «Properties».

Для отчета выбираем компоненты «Text Field» и перетаскиваем одно в секцию Title и шесть - в секцию Detail1. В секцию Column Header перетаскиваем 6 компонентов «Static Text».

По умолчанию поля «Text Field» связаны с несуществующим полем $F{field}. Чтобы их связать с определенными в шаблоне полями, параметрами и переменными необходимо в панели свойств «Properties» выделить «Text Field Expression», нажать на кнопку "…" и в окне «Text Field Expression» переопределить связь.

Для заголовков колонок используем компоненты «Static Text», для каждого из которых определяем текст и фон. На следующих двух скриншотах представлены панели «Report Inspector» и «Properties» с выделенным заголовком «Стоимость».

Итоговый интерфейс jrxml-шаблона для описанного на странице JasperReports примера представлен на следующем скриншоте.

Генерируемый на основе шаблона отчет можно увидеть здесь.

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

С примером настройки JDBC в приложении iReport и формированием JasperReport отчета можно познакомиться здесь.

  Рейтинг@Mail.ru