Подтвердить что ты не робот

IReport: передача параметров из основного запроса отчета в запрос набора данных для таблицы или списка

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

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

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

Требуется ли такая вещь для реализации подрепортажа?

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

4b9b3361

Ответ 1

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

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

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

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

источник: http://hamroblog-sristi.blogspot.fr/2011/04/passing-parameters-from-main-report-to.html

Ответ 2

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

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

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

Ответ 3

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

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

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

  • Передайте его основному отчету в хэш файл.

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

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

  • Задайте свойство Query text примерно так, как показано ниже.

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