Показать или спрятать менюTRichView.ru
English | Deutsch | Español | Русский

  Провайдеры данных для Report Workshop

Источники данных для отчётов

Провайдеры данных – это набор компонентов, заполняющих отчёты содержимым. Такой компонент обрабатывает строки-запросы и в ответ выдаёт данные, которые будут использованы для построения отчёта. Этот процесс прозрачен для пользователей и программистов: надо просто связать компонент TRVReportGenerator с компонентом-провайдером данных, присвоить свойства, указывающие источник данных, и всё будет работать автоматически.

Большинство из компонентов-провайдеров данных выполняют следующие типы запросов:

  • имя таблицы базы данных
  • оператор SQL select
  • запрос «field» (ссылка на поле типа TDataSetField)

Однако запросы могут быть и другими. Например, провайдер данных MongoDB обрабатывает запросы JSON вместо SQL.

Пример отчёта по базе MongoDB

Report Workshop включает провайдеры данных, перечисленные ниже. Они не требуют дополнительной установки: инсталлятор устанавливает их в среду Delphi, если требуемые компоненты уже установлены.

Если вы хотите использовать другой набор компонентов для доступа к базам данных, свяжитесь с нами, и мы создадим провайдер данных для него. Кроме того, Report Workshop включает универсальный БД-провайдер, в котором возможно:

  • в событиях создавать компоненты dataset для обработки запросов
  • создать коллекцию компонентов dataset (возможно, уже связанные отношениями «главный/подчиненный» («master/detail»)) и ссылаться на них из отчётов по названиям

TRVReportDBDataProvider – универсальный компонент БД-провайдер.

ReportWorkshop включает ещё один универсальный компонент:

TRVReportBindSourceDataProvider – провайдер данных LiveBindings.

Стандартные обработчики запросов

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

Report Workshop включает пример обработчика, работающего с запросами вида «calendar:days of month 1 of 2016» (запрос дней первого месяца 2016 года).