iReport: передача параметров из основного запроса отчета в запрос к набору данных для таблицы или списка - PullRequest
20 голосов
/ 10 сентября 2010

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

Например, скажем, у меня есть параметр 'customerID', который я могу заполнить запросом основного отчета, но я не могу передать этот параметр в SQL-запрос набора данных таблицы.

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

Требуется ли реализация подобного рода отчетов в подотчете?

(если это важно и не очевидно, я использую JDBC)

Ответы [ 4 ]

22 голосов
/ 19 апреля 2013

Чтобы передать параметры из основного отчета в таблицу или список источников данных в iReport 3.6.7+, необходимо выполнить следующие шаги:

1) создать необходимые параметры в основном отчете, щелкнув правой кнопкой мыши в разделе параметров основного отчета ------> добавить параметр --------> установите свойства (тип данных) вновь добавленного параметра на нужный.

2) создайте эквивалентные параметры в разделе параметров таблицы / источника данных List точно так же, как в шаге1.

3) из обозревателя отчетов, щелкните правой кнопкой мыши по таблице и щелкните по Изменить набор данных таблицы ------> Выберите вкладку параметров -----------> Нажмите кнопку Добавить ----------> Выберите параметр (который вы создали в разделе параметров набора данных на шаге 1) из верхнего комбо (т.е. имя параметра набора данных) ------> затем нажмите нижнюю кнопку (т.е.)назначить значение expression, то есть параметры, которые вы добавили в шаге 1.

source: http://hamroblog -sristi.blogspot.fr / 2011/04 / Параметр1039 *

12 голосов
/ 18 ноября 2010

Не знаю, какую версию вы используете, но я смог сделать это в iReport 3.7.6.

Сначала я добавляю параметры в набор данных.

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

0 голосов
/ 18 июля 2018

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

  1. создать необходимые параметры в основном отчете, щелкнув правой кнопкой мыши в разделе параметров основного отчета ------> добавить параметр --------> установить свойства (тип данных) вновь добавленного параметра в Ваш желаемый.
  2. создать эквивалентные параметры в разделе параметров таблицы / источника данных List точно так же, как в шаге 1.
  3. из проводника отчетов, щелкните правой кнопкой мыши по таблице и выберите «Редактировать набор данных таблицы» ------> Выберите вкладку параметров -----------> Нажмите «Добавить» ------ ----> Выберите параметр (который вы создали в разделе параметров набора данных в шаге 2.) из верхнего комбинированного списка (т. Е. Имя параметра набора данных) ------>, затем нажмите нижнюю кнопку (т. Е.) Назначьте выражение значения, т.е. параметры, которые вы добавили в шаге 1.
0 голосов
/ 10 сентября 2010

Я делаю быстрый отчет о тестировании, чтобы повторить то, что вы делали, и это сработало.

Вот шаги, которые я предпринял.

  • Создайте параметр в своем отчете, например, customerID

  • Передайте его в свой основной отчет в хэш-карте.

    hashmap.put("customerID", "12345");

  • В отчете задайте для свойства The language of for the dataset query значение SQL.

  • Задайте для свойства Query text нечто подобное, как естьниже.

    select * from * customers c where c.ID=$P{customerID}

...