Событие OnGetRow вызывается для получения данных для текущей строки. Существует несколько методов для записи данных в специальные буферы используемые Rave. Порядок и типы записываемых полей должны быть такими же, как полученные определения полей в событии OnGetCols. Методы объекта Connection для записи данных в буфера: Code procedure WriteStrData (FormatData: string; NativeData: string); {dtString} procedure WriteIntData (FormatData: string; NativeData: integer); {dtInteger} procedure WriteBoolData (FormatData: string; NativeData: boolean); {dtBoolean} procedure WriteFloatData (FormatData: string; NativeData: extended); {dtFloat} procedure WriteCurrData (FormatData: string; NativeData: currency); {dtCurrency} procedure WriteBCDData (FormatData: string; NativeData: currency); {dtBCD} procedure WriteDateTimeData (FormatData: string; NativeData: TDateTime); {dtDate, dtTime, dtDateTime} procedure WriteBlobData (var Buffer; Len: Longint); {dtBlob, dtMemo, dtGraphic} Также имеется специальный метод, WriteNullData (без параметров), который может быть использован некоторых полей, для указания неинициализированных данных (nool). Параметр FormatData используется для передачи строки форматирования данных для данного поля. Параметр NativeData предназначен для передачи неформатированных или чистых данных поля. Если строка форматирования определена в отчете Rave, то она используется для форматирования, иначе используется FormatData. Пример: Code procedure TDataForm.CustomCXNGetRow(Connection: TRvCustomConnection); begin With Connection do begin WriteIntData('',DataRecord.IntField); WriteStrData('',DataRecord.StrField); WriteFloatData('',DataRecord.FloatField); end; { with } end; |