Компоненты, использующие BDE. Компонент TRvCustomConnection.
В состав набора компонентов соединений Rave Reports включены два компонента, которые обеспечивают связь прямого просмотра в проекте отчета с набором данных BDE.
Компонент TRvTableConnection работает с компонентом TTаblе. Для связывания с таблицей BDE используется свойство:
property Table: TTable;
Еще одно свойство:
property UseSetRange: Boolean;
…при значении True определяет, что при создании отчета будут использованы механизмы фильтрации и сортировки компонента TTаblе.
Компонент TRvQueryConnection работает с компонентом TQuery.
Свойство:
property Query: TQuery;
…задает компонент TQuery.
Остальные свойства и методы этих компонентов соответствуют компоненту TRvDataSetConnection.
Компонент TRvCustomConnection
Компонент TRvCustomConnection обеспечивает доступ к самым разнообразным источникам данных. Фактически через этот компонент разработчик может передать в отчет все данные, какие только сможет загрузить в приложение. Причина столь удивительной универсальности кроется в том, что:
- во-первых, компонент изначально не ориентирован ни на один конкретный вид данных;
- во-вторых, работа по созданию строк отчета возлагается на разработчика, который должен использовать для этого методы-обработчики событий.
Повторим банальную истину, что чудес не бывает, и, как видите, за гибкость приходится расплачиваться дополнительным объемом работы.
Для того чтобы настроить соединение через компонент TRvCustomConnection, необходимо выполнить следующие действия.
- Определить число строк отчета и установить его в компоненте.
- Создать структуру данных отчета (метаданные). Здесь нужно решить, какие именно поля будут присутствовать в отчете, в каком порядке, дать им названия и определить их тип данных.
- Создать процедуру, обеспечивающую передачу данных из источника данных в текущую строку отчета.
- Связать компонент соединения с объектом прямого просмотра.
Обсудим эту последовательность действий более детально на простом примере. Создадим небольшое приложение, которое позволяет загружать текстовые файлы в два компонента TMemo. Перенесем на форму и настроим все необходимые компоненты Rave Reports.
Затем разработаем отчет, который печатает данные из этих двух компонентов в двух колонках. Отчет тоже несложен и состоит из полос заголовка и окончания, а также полосы данных с расположенными на ней двумя элементами Оформления DataText.
Наша задача сейчас – настроить компонент TRvCustomConnection так, чтобы он мог отображать данные из двух компонентов TMemo.