Перед началом сортировки и фильтрации и после их завершения вызываются пары методов-обработчиков

property QnGetSort: TTTConnectorEvent ;
property QnSetSort: TTTCormectorEvent ;

И

property OnGetFilter: TRPConnectorEvent;
property OnSetFilter: TRPConnectorEvent;

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

type

TRPValidateRowEvent = procedure(Connection: TRvCustomConnection;
var ValidRow: Boolean);
property OnValidateRow: TRPValidateRowEvent;

Параметр ValidRow управляет отправкой отдельной записи отчету: при значении True запись пропускается в отчет.

Рассмотрим простой пример. Для отчета, печатающего всем нам хорошо известную таблицу COUNTRY из демонстрационной базы Delphi, можно ограничить список стран, а также исключить страны с площадью территории, меньше заданной:

procedure TForml. RvSomeConValidateRow (Connection: TRvQistarConnection;
var ValidRow: Boolean) ;

begin with TRvDataSetConnection(Connection) do

ValidRow :=DataSet.FieidByName('Area').Aslnteger >
1000000;
end;

Компоненты, использующие BDE

В состав набора компонентов соединений Rave Reports включены два компонента, которые обеспечивают связь прямого просмотра в проекте отчета с набором данных BDE.

Компонент TRvTableConnection работает с компонентом ттаЫе. Для связывания с таблицей BDE используется свойство

property Table: TTable;

Еще одно свойство

property UseSetRange: Boolean;

при значении True определяет, что при создании отчета будут использованы механизмы фильтрации и сортировки компонента ттаЫе.

Компонент TRvQueryConnection работает С компонентом TQuery.

Свойство

property Query: TQuery; задает КОМПОНеЫТ TQuery.

Остальные свойства и методы этих компонентов соответствуют компоненту

TRvDataSetConnection.

Компонент TRvCustomConnection

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

О во-первых, компонент изначально не ориентирован ни на один конкретный вид данных;

• во-вторых, работа по созданию строк отчета возлагается на разработчика, который должен использовать для этого методы-обработчики событий.

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

Для ТОЮ чтобы настроить соединение через компонент TRvCustomConnection, необходимо выполнить следующие действия.

1. Определить число строк отчета и установить его в компоненте.

2. Создать структуру данных отчета (метаданные). Здесь нужно решить, какие именно поля будут присутствовать в отчете, в каком порядке, дать им названия и определить их тип данных.

3. Создать процедуру, обеспечивающую передачу данных из источника данных в текущую строку отчета.

4. Связать компонент соединения с объектом прямого просмотра.

Обсудим эту последовательность действий более детально на простом примере. Создадим небольшое приложение, которое позволяет загружать текстовые файлы в два компонента тмето. Перенесем на форму и настроим все необходимые компоненты Rave Reports.


⇐ Предыдущая страница| |Следующая страница ⇒

Программирование в Delphi 7



Новости за месяц

  • Август
    2017
  • Пн
  • Вт
  • Ср
  • Чт
  • Пт
  • Сб
  • Вс