#jasper-reports #jasperserver
#jasper-отчеты #jasperserver
Вопрос:
Краткое предисловие. Моя компания фактически платит за поддержку Jasper, но они не смогли мне помочь. На данный момент поиск ответа в Google приводит меня только к моим собственным темам форума без ответа на их сайте. Я схожу с ума.
Я ужасно трачу время на написание кода для обработки каскадных входных данных с помощью API веб-служб Jasper. Их примерное веб-приложение для веб-сервисов не справляется с этим (несмотря на то, что они активно используют эту функцию начиная с версии 3.7). Единственное место, где я нашел пример, находится примерно в 15 строках кода из документации по их веб-сервисам (64-страничный pdf). Однако нет объяснения того, что он делает.
Кто-нибудь смог это реализовать? Можете ли вы привести простой пример с каким-либо логическим объяснением?
Вот глупый сценарий (не стесняйтесь придумать свой собственный)
У меня есть отчет с двумя входными данными inputA и inputB, где выбор для A влияет на выбор, показанный для B. Таким образом, inputA предоставляет мне варианты «Кошка», «Собака», «Птица». Я решаю выбрать «Dog» для inputA. Затем inputB должен предоставить мне варианты: «Пудель», «Лабрадор», «Дворняжка».
Как я могу выбрать «Dog» для inputA и использовать веб-сервисы jasper, чтобы определить эти 3 варианта для inputB?
Я действительно ищу примеры кода с каким-либо объяснением.
И снова. Я схожу с ума.
Комментарии:
1. Вы уже нашли решение для этого? Что вы в итоге сделали?
2. @Janvo Извлекаются ли ваши значения из базы данных?? В этом случае вы можете написать запрос объединения при создании источника данных через ireports. Я делаю что-то вроде этого. У меня есть поле выбора для клиента и другое для позиций. Выбранный клиент приведет к изменению второго ввода позиций на основе выбранного клиента. Проверьте ответ.
Ответ №1:
В ireports вы можете создавать элементы управления вводом. Перейдите в свойства, щелкнув правой кнопкой мыши элемент управления вводом, который будет вашим вторым параметром. В свойствах -> вкладка Сведений об элементе управления вводом-> Редактировать локальный ресурс теперь перейдите на вкладку запрос
Добавьте запрос со значением первого поля выбора в качестве параметра.Этот параметр должен быть объявлен в вашем отчете в разделе параметров.
Запрос, например select reqtitle,clientname from hc_requisitions inner join hc_clients on
hc_clients.rid=hc_requisitions.clientid where clientname=$P{clientname}
где $P{clientname}
— значение из первого поля выбора.
Надеюсь, это поможет!