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

Вид материалаОтчет
Просмотр и композитные отчеты
TQRCompositeReport компонента
Несовместимость версий
Подобный материал:
1   2   3   4   5   6

Просмотр и композитные отчеты


Figure 5 - Filters and miscellaneous components



TQRCompositeReport. Иногда вам требуется группировать совместно отдельные отчеты в один общий. Например, возможно вам нужно напечатать всех новых заказчиков за последнюю неделю вместе со всеми их заказами. Так как понятие заказчик включает в себя все эти вещи как одно целое, а сточки зрения базы данных вам для это требуется несколько отдельных отчетов. TQuickRep компонент позволяет выполнить эту задачу.

Путь для решения это задачи в использовании TQRCompositeReport компонента. Разместите один на форме. Во первых, вы должны определить обработчик для события OnAddReports, который вызывает метод TQRCompositeReport.Add для добавления всех TQuickRep компонент необходимых для печати. Предположим, что отчеты которые вы желаете объединить находятся на формах с именами RepNewCust, RepOrderSummary и StockReorder, и во всех случаях TQuickRep компонент называется ‘Report’ (см. главу ‘Добавляем TQuickRep’ ниже для понимания почему вы должны делать это). Для этого ваш обработчик OnAddReports выглядеть следующим образом

procedure TForm1.QRCompositeReport1AddReports(

Sender: TObject);

begin

QRCompositeReport1.Reports.Add(RepNewCust.Report);

QRCompositeReport1.Reports.Add(RepOrderSummary.Report);

QRCompositeReport1.Reports.Add(RepStockReorder.Report);

end;


(Если вы не брезгуете использованием оператора with в вашем коде, то вы можете написать так

with QRCompositeReport1.Reports do

begin

...

end;


и убрать плохо выглядящее повторение QRCompositeReport1.Reports из всех трех строк.)

Теперь вы можете вызывать QRCompositeReport1.Print для печати всех трех отчетов в одном задании, и QRCompositeReport1.Preview to для их просмотра. Имеются также несколько свойств для компонента TQRCompositeReport которые позволяют управлять размером бумаги и устанавливать заголовок для отчета – обычно требуется управлять всем для композитного отчета в одном месте.

TQRPreview. Для просмотра отчета перед печатью, все что вам нужно это вызвать TQuickRep.Preview and и стандартное окно просмотра появится. Во многих случаях, вам нужно более полный контроль над окном просмотра.

Компонент TQRPreview позволяет это сделать. Бросьте один на вашу формы, после этого добавьте строку кода в обработчике TQuickRep.OnPreview, компонент работает как основа для размещения ваших органов управления. Если у вас еще больше амбиций или вы желаете сменить просмотр для композитных отчетов, то вы можете зарегистрировать свою собственную форму для просмотра. Смотрите главу ‘Создание собственного просмотра’.

Фильтры


Иногда, вместо печати или просмотра, вам нужно экспортировать данные их вашей базы в другой формат. QuickReport включает в себя три типа фильтров, которые позволяют быстро и просто выполнить данную работу. Просто бросьте компонент экспорта на ту же форму, что и отчет, и список файловых форматов появится в выпадающем списке Save To file диалоге просмотра. Регистрация автоматическая, вам не нужно ничего кодировать! (Но не беспокойтесь, вы можете экспортировать и программно.)

Заметим, что не все печатные компоненты могут быть экспортированы. Обычно, только содержимое следующих компонент появляется в экспортируемых данных: TQRLabel, TQRDBText, TQRExpr, TQRMemo, TQRSysdata and TQRExprMemo.

TQRTextFilter. ‘Text’ формат: экспортирует отчет, как простой ASCII текст, используются пробелы для разделения полей.

TQRCSVFilter. CSV формат: экспортирует отчет ‘Comma Separated Variables’. Используются запятые для разделения полей, данный фильтр вставляет “двойные кавычки ” вокруг них, что позволяет использовать запятые внутри полей. Данный формат очень легко импортируется в различного рода электронные таблицы, такие как Microsoft Excel. Тем не менее, компонент имеет свойство Separator, что позволяет использовать и другие разделители полей. По умолчанию его значение ‘,’ запятая, но это может быть изменено в соответствии с вашими требованиями.

TQRHTMLFilter. HTML формат: экспортирует отчет в HyperText Markup Language, который используется в web браузерах, некоторых постовых клиентах, справочных системах и во многих других местах.

Имеется возможность экспортировать отчет из кода. Следующий пример показывает как использовать HTML фильтр.

quickrep1.ExportToFilter(

TQRHTMLDocumentFilter.Create('c:\report.txt'));


Для использования фильтров Text или CSV данных образом, используйте тот же самый вызов ExportToFilter но только укажите соответствующий фильтр как TQRAsciiExportFilter или TQRCommaSeparatedFilter.

Графики


TQRChart это версия TChart адаптированная под QuickReport. Позволяет добавлять сложные графики к вашим отчетам. TQRChart используется тем же самым образом, что и стандартный компонент Tchart – двойной щелчок вызывает редактор свойств. Подробности смотреть в документации на TeeChart.

Несовместимость версий


В связи с особенностью наших компонент, некоторые версии TeeChart не совсем совместимы с QuickReport, и компонент TQRChart и TeeChart могут быть загружены во время апгрейда QuickReport. Например, во время написания Delphi 3 версии QuickReport 3 (или выше) не все работало с TeeChart, поскольку версия of TeeChart которая поступала с Delphi 3 был кодирована под версию QuickReport 2. Для решения проблемы можно загрузить (свободно) TeeChart 4 (evaluation version ) с сайта TeeMach ch.com/.

Данная редакция расширяет компонент Decision Cube из Client/Sever и Enterprise Editions редакций Delphi – это зависит от TeeChart. В данный момент нет пути использовать Delphi 3 Decision Cube вместе с QuickReport 3 и TeeChart.

Мы извиняемся за подобную ситуацию. С тех пор как мы разрешили другим сторонам писать для QR, мы не можем автономно вносить исправления в их код. Если вы имеете проблемы после апгрейда QuickReport, пожалуйста проверьте сайты t.no/ и TeeMach’s для получения последней информации.