Как ограничить отчет, используя плагин Dynamic-Jasper в Grails? - PullRequest
0 голосов
/ 04 ноября 2011

Я новичок в Grails. Мне нужно создавать отчеты в формате pdf или в любом другом формате. Я использовал плагин dynamic-jasper для получения вывода в формате pdf. Я сгенерировал свой отчет, используя пример http://www.grails.org/plugin/dynamic-jasper,

Но в этом примере отчет показывает все значения в базе данных. Поэтому мне не нужны все значения в отчете. Вместо этого мне нужно ограничить отчет.Т.е., когда я буду искать значения (по некоторым запросам sql), я получу ao / p искомых значений в списке.Так что мне нужен отчет о поисковом списке значений. Так что, пожалуйста, помогите мне решить эту проблему

1 Ответ

0 голосов
/ 06 марта 2012

Похоже, вам нужно использовать свойство dataSource:

dataSource: это закрытие, которое получает сеанс и переданные параметры.Здесь вы подключаетесь, если вам нужны более сложные запросы для извлечения данных, например, на основе параметров запроса или зарегистрированного пользователя в сеансе, или просто для интеграции с вашими сервисами или другими плагинами, такими как плагин фильтра

* 1006Закрытие источника данных - это то, где ваша логика должна идти, чтобы ограничить то, что показано в отчете (ваши SQL-запросы пошли бы сюда, если бы вы использовали это).Если вы прокрутите вниз до salesByStateReport в разделе «именованные отчеты» по вашей ссылке , вы получите пример:
dataSource = { session, params ->
        Sale.findAll('from Sale as s where s.branch.state = ? order by branch.name', [params.state])
    }

Если вы используете формат объекта, просто измените 'dataSource= 'to' dataSource: 'в вашей статической отчетной карте.

Это будет вызываться из URL-адреса следующим образом в следующем формате:

http://localhost:8080/yourAppName/djReport/?entity=yourModelClass&state=yourStateValue

Или вот так в формате имени:

http://localhost:8080/yourAppName/djReport/?report=your имя отчета и состояние = yourStateValue

...