DynamicReports против DynamicJasper [закрыто]

Связанные элементы управления данных не используют отражение, но TypeDescriptor для получения свойств от источника данных. В TypeDescriptor. Метод GetProperties , можно считать следующее:

свойства для компонента могут отличаться от свойств класса, потому что сайт может добавить или удалить свойства, если компонент расположен.

, По-видимому, реализация по умолчанию только возвратит прямые свойства из Интерфейса а не наследованных.

К счастью этот механизм расширяем, и можно записать класс TypeConverter с пользовательской реализацией информации о свойстве. См. комментарии в документации TypeConverter для реализации логики свойства.

реализация GetProperties Вашего пользовательского класса TypeConverter может назвать TypeDescriptor. GetProperties (Тип) в Вашем интерфейсе и всем это - наследуемые интерфейсы. Но возможно Вы могли даже записать универсальный TypeConverter, который найдет все унаследованные свойства при помощи отражения.

Затем Вы присоединяете этот пользовательский TypeConverter к своему интерфейсу с атрибутом TypeConverterAttribute.

И затем, как волшебство, источник данных найдет все свойства. ;-)

28
задан Scott 13 March 2011 в 18:18
поделиться

1 ответ

Этот вопрос касается нескольких способов создания отчетов с использованием API JasperReports (прямо или косвенно):

DynamicReports (DR) и DynamicJasper (DJ) - это два бесплатных программных инструмента с открытым исходным кодом, которые абстрагируют (и упрощают) общие задачи с API JasperReports. Если вы планируете разрабатывать отчеты программно, эти инструменты могут сократить время разработки.

Пакеты DR и DJ API имеют следующие общие особенности:

  • Динамический дизайн
  • Динамические ширины столбцов
  • Стабильный
  • Mix Шаблоны iReport с кодом

iReport

iReport - это пользовательский интерфейс, который скрывает сложность прямого вызова методов JasperReports. Другими словами, iReport - это модный и удобный способ создания отчетов, чем кодирование вызовов Java вручную. Конечный результат тот же: файл скомпилированного отчета (.jasper).

JasperReports API

JasperReports API предоставляет программистам набор классов Java, чтобы компьютер мог создавать отчеты на основе потребностей бизнеса. API позволяет, например, разработать веб-сайт, который позволяет пользователям выбирать нужные столбцы в отчете, а затем создавать шаблон отчета на лету. После того, как шаблон готов, пользователь может запустить отчет, чтобы увидеть результаты.

Одной особенностью, которой не хватает в iReport, является возможность динамического изменения ширины столбцов. Используя API JasperReports напрямую, программисты могут создать шаблон отчета с оптимальной шириной столбца для набора результатов отчета.

Проблема в том, что API JasperReports чрезвычайно сложен, и его части могут использовать больше документации.

DynamicJasper

Веб-сайт DynamicJasper отмечает следующие преимущества по сравнению с JasperReports API:

  • Автоматическая разметка
  • Штрих-коды
  • Чистая поддержка Excel
  • Struts & amp; Поддержка Grails

Примеры API показывают хорошую работу с объектно-ориентированными принципами. Веб-сайт предлагает много примеров, и Javadocs редко комментируются. Форум более активен, чем DynamicReports.

Обновление: Проект сейчас на GitHub . Больше нет форума, но вы можете запросить Профессиональную поддержку

DynamicReports

Веб-сайт DynamicReports отмечает следующие преимущества по сравнению с JasperReports API:

  • Унаследованные дизайны

Веб-сайт предлагает много примеров, но, к сожалению, у Javadocs нет большого количества комментариев. Кроме того, форум выглядит менее активным, чем JasperReports или DynamicJasper.

Резюме

Если вы довольны DynamicReports, я бы сказал, придерживайтесь его, в противном случае попробуйте DynamicJasper.

53
ответ дан 28 November 2019 в 02:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: