Новичок JasperReports здесь. Я прочитал руководство и краткий справочник и прочитал ряд статей о JR, и теперь поигрался с дизайнером отчетов iReport в течение дня или около того.
Я думаю, что последний основной набор концепций, которыми я задыхаюсь, связан с отношениями между компонентами диаграммы и их данными. Хотя легко найти определения для каждого из них, кажется, что существует очень мало практической документации, показывающей, как они соотносятся друг с другом в осмысленном приложении.
- Поля отчета
- Сообщить о параметрах
- Переменные отчета
- Наборы данных
Играя с iReport, кажется, что поля, параметры и переменные могут существовать на уровне отчета, а также размещаться внутри наборов данных. Но мое понимание того, когда что-то представляет собой поле, параметр или переменную, очень нечеткое, и мое понимание того, как они связаны с наборами данных, также очень шаткое.
Используя наборы данных в качестве небольшого перехода, мне трудно увидеть «лес сквозь деревья» с тем, как компоненты диаграммы (такие как круговые диаграммы, таблицы и т. д.) «наполняются» или «вводятся» их данными.
Итак... Я подумал о примере, который, если ответить, свяжет для меня все воедино (я верю!). Допустим, у меня есть два компонента диаграммы, текстовое поле и круговая диаграмма. Я хочу, чтобы круговая диаграмма отображалась под текстовым полем следующим образом:
The author of this report is: <value supplied by the data source>
<pie chart here>
Таким образом, во время "заполнения" (я думаю правильно это использую...) отчет будет "заполнен" именем автора отчета (строка), а также круговая диаграмма, состоящая из 2 секторов: 1 сектор со значением 75 с меткой/ключом «Элои» и 2-й сектор со значением 25 и меткой/ключом «Морлоки». Если я не использую здесь правильную терминологию JR, то я пытаюсь получить круговую диаграмму времени заполнения с двумя срезами: срез «Элои», потребляющий 75% диаграммы, и срез «Морлоки», потребляющий 25% график.
Если кто-то может объяснить или дать фрагменты кода (Java/JRXML) для настройки такого рода диаграмм, я думаю, это поможет соединить все точки и поможет мне понять, как компоненты заполняются данными. Заранее спасибо за любую помощь!