На новій роботі мені було доручено розібратися з генератором звітів FastReport .Net. Раніше мені доводилося мати справу з іншими системами звітності, наприклад, Crystal Reports і Microsoft Reporting Services. Їх функціоналу було досить для мене, до того, як я познайомився з FastReport.
Дійсно потужний продукт з широким функціоналом. Одна з найбільш сподобалися мені особливостей FastReport .Net - можливість створення звітів прямо з коду призначеного для користувача програми. У цій статті я хочу розглянути приклад використання такої «фічі». Це дійсно зручно, коли не потрібна купа файлів, що поставляються разом з exe-шником. Крім того, можна повністю контролювати створення звіту самостійно, змінюючи вид об'єкта звіту в залежності від логіки додатки.
Перш за все, поясню, чим же відрізняється побудова звіту з коду призначеного для користувача додатки від класичної розробки шаблону в спеціальному дизайнера.
Зазвичай, генератор звітів надає спеціальний дизайнер для розробки шаблону звіту. Це може бути компонент IDE, або просто зовнішня програма. Розробник розміщує компоненти виведення даних на сторінці звіту, задає їх властивості. Це схоже на конструювання форми додатка в проекті Windows Forms.
Отже, розглянемо всі на прикладі.
Створюємо додаток Windows Forms на мові C # (звичайно ж FastReport .Net повинен бути встановлений до цього моменту).
Створюємо обробник події натискання кнопки. Тут буде весь код додатку.
Насамперед, додаємо посилання на бібліотеку FastReport.dll (яка знаходиться в паку FastReport .Net).
Також, додаємо бібліотеки FastReport, FastReport.Utils і FastReport.Data в using.
Створюємо екземпляр класу Report:
Підведемо підсумки. FastReport .Net порадував ще однією цікавою фичей - створення звіту з коду. Коли це може бути корисно? Якщо ви не хочете плодити купу окремих файлів з шаблонами звітів або хочете приховати шаблон звіту всередині програми, щоб уникнути псування або зміни шаблону. Також зручно змінювати шаблон звіту прямо під час виконання вашої програми. Це дає велику гнучкість звітів і можливість використовувати один шаблон, змінюючи його залежно від логіки програми.
Особисто мені звично і зручно використовувати об'єкти в коді програми. Так що створення звіту практично нічим не відрізняється від написання основного коду віконного програми.