Первый отчет 7 Компоненты 11 Создание отчетов 19 Обзор печатных (printable) компонент 35

Вид материалаОтчет
Секции (Band) компоненты
Печатные (Printable) компоненты
TQRMemo. Очень похож на стандартный компонент TMemo
TImage, и может быть установлено в design time с помощью свойства Picture
Подобный материал:
1   2   3   4   5   6

Компоненты


Все компоненты QuickReport расположены на закладке QReport палитры компонент Delphi. Здесь краткий тур что это такое и как они помогут вам.

Figure 3 - TQuickRep and band components



TQuickRep. Это наиболее важный компонент, это контейнер для всех других печатных компонент. Выглядит как лист бумаги, на котором вы будете печатать. Его свойство Page позволяет установить размеры бумаги, в то же время свойство Dataset определяет источник данных для отчета.

Заметим, что вместо размещения компонента TQuickRep на одной из форм вы можете добавить TQuickReport модуль в ваш проект:

  1. Выберите File | New….
  2. Выберите закладку New
  3. Выберите Report item (в середине нижней строки)



TQuickReport немного похож на TDataModule – это специальный тип формы, которая никогда не показывается пользователю программы. Если вы, то вы можете использовать TQuickReport на псевдо-форме вместо компонента TQuickRep– никакой разницы в их методах, свойствах и событиях. Но мы рекомендуем, на собственном опыте, что вы разместите компонент TQuickRep на форме: это наиболее подходящее решение. Например, размещение TQuickRep на форме позволяет вам использовать обработчик OnCreate если вы пожелаете добавить некоторые объекты в отчет программным путем.


Секции (Band) компоненты


Это также компонеты-контейнеры, представляющие собой как бы горизонтальный полоски в отчете. Секции могут быть привязаны к физической позиции на странице – например вверху – и также могут плавать по странице в при отражение данных из master/detail. Например, может быть несколько записей по продаже для одного заказчика, так что секция содержащая записи об продажах может появляться несколько раз для каждого заказчика отдельно.

TQRSubDetail. Это секция для отражения данных в master/detail связях. Вы также можете сделать ее мастером для другой секции detail, и таким образом создать несколько уровней детализации.

TQRStringsBand. Данный тип секции представляет механизм создания отчетов без использования TDataSet. Для выборки данных используется TStrings контейнер; вместо выборки из базы данных.

TQRBand. Базовый тип секции, который может играть различные роли в зависимости от свойства BandType. Обычно нет нужды бросать TQRBand в отчет. Вместо этого используйте свойство Bands компонента TQuickRep, который и создаст необходимые объекты TQRBand и установить требуемы свойства.

TQRChildBand. Используйте объект TQRChildBand когда вам требуется расширить существующую секцию. Например, вы разместили несколько компонент TQRMemo в секции, и желаете добавить TQRLabel, которая должна быть всегда нижк. Поскольку объекты TQRMemo могут занимать более одной строки, в зависимости от содержимого, то неэффективно размещать метку на самой секции. Вместо этого добавьте объект TQRChildBand, и разместите метку на нем. Наиболее простой путь добавить подобную секцию это дважды щелкнуть по свойству HasChild в Object Inspector.

TQRGroup. Секция которая печатается при смене выражения, обычно при смене значения какого либо поля из базы данных. Данная секция предназначена для группирования одинаковых записей. Например, для печати списка адресов, сгруппированного по полу State Code нужно добавить секцию и установить свойство Expression в значение State Code. При печати отчета адреса будут печататься по штатам.

Печатные (Printable) компоненты


Figure 4 - Printable components



Наиболее подходящий аналог для печатных компонент QuickReport это стандартные компоненты Дельфи размещаемые на формах. Именно эти компоненты обеспечивают действительную печать на бумагу. TQRLabel. Размещает статический текст на странице.

TQRDBText. Эквивалент компоненты TDBText – используется для отображения содержимого полей базы данных. Похоже на стандартные компоненты, но предназначенные для использования с QuickReport, TQRDBText использует свойство DataSet для указания источника данных. Обычные data-aware компоненты используют свойство DataSource, которое требует использования отдельного компонента TDataSource для связи с набором данных. QuickReport не требуется.

TQRExpr. Используется для отображения ‘выражений’. Обычно вы используете для предварительной обработки данных перед печатью. Наилучший путь думать, что это аналог расчетных calculated полей, используемых только в отчете. Например, вы можете объединить все части имени заказчика, поля в таблице customer “Title”, “Forename” и “Surname”. To Просто установите свойство Expression в

Title + " " + Forename + " " + Surname

В реальной жизни, вы вероятно будете использовать более сложное выражение, но данный пример дает представление об использовании.

TQRSysData. Компонент позволяет отображать ‘системные данные’, подобные номеру текущей страницы в отчете, и текущую дату и/или время.

TQRMemo. Очень похож на стандартный компонент TMemo; используйте для отображения многострочного текста. Как вы правильно предполагаете, данные содержатся в свойстве Lines типа Tstrings.

TQRExprMemo. Композиция TQRExpr и TQRMemo. Вы можете использовать для включения {вычисляемых} выражений в многострочный блок. Это позволяет абсолютно натуральном путем изготавливать адреса, особенно учитывая наличие свойства RemoveBlankLines. Например:

Company : {CompanyName}
Address : {Address1}
{Address2}
Contact : {Contact + ' ' + Phone number}

TQRRichText. Помещает rich text (то есть многострочный текст с RTF форматированием) на страницу. Одно из назначений данного компонента это печать содержимого компоненты TRichEdit control – просто назначьте свойство TQRRichText.ParentRichEdit.

TQRDBRichText. Это data-aware версия TQRRichText. Используйте для печати форматированного текста из BLOB полей.

TQRShape. Кузина редко используемого компонента TShape control из палитры ‘Additional’. В действительности версия QuickReport очень полезна для размещения различного типа рюшечек в отчет, таких как разделительные лини над итогами или группирующие прямоугольники.

TQRImage. Отображает картинку или логотип в отчете. Поддерживает те же самые векторные и битмаповские форматы, что и TImage, и может быть установлено в design time с помощью свойства Picture.

TQRDBImage. data-aware версия, для отображения картинок из BLOB полей базы данных.