по значениям поля набора данных 12 глава




{ Обновление данных на сервере }

ADODataSetl.UpdateBatch; end;

procedure TForml.FormlCreate(Sender: TObject);

begin

ADOConnectionl.ConnectionString:= 'FILE NAME=' + DataLinkDir + '\DBDEMOS.UDL';

ADODataSetl.Open;

end;

procedure TForml.UpdateButtonClick(Sender: TObject); begin

UpdateData; end;

procedure TForml.FormlCloseQuery(Sender: TObject; var CanClose: Boolean); begin

if ADODataSetl.Active then try

{ Обновление данных на сервере при закрытии формы } UpdateData except

on E: Exception do begin

Application.HandleException(Self);

CanClose:= MessageDlg('Данные не сохранены/обновлены, выйти?', mtConfirmation, mbYesNoCancel, 0) = mrYes; end; end; end;

procedure TForml.GetTableButtonClick(Sender: TObject); begin

{ Повторное открытие табличного набора данных 'Country'}

ADODataSetl.Close;

ADODataSetl.CommandType:= cmdTable;

ADODataSetl.CommandText := 'Country';


300


Часть II. Технологии доступа к данным


ADODataSetl.Open; end;

procedure TForml.ButtonlClick(Sender: TObject); begin

ADODataSetl.Close;

ADODataSetl.CommandType: = cmdTable; ADODataSetl.CommandText: = Edit1.Text; try

ADODataSetl.Open; except

on E: Exception do begin

MessageDlg('Исправьте имя таблицы', mtError,[mbOK],0); ADODataSetl.Close; end; end; end; end.

Первоначально при запуске приложения автоматически открывается таблица с именем 'Country'. При необходимости открыть другую таблицу для просмотра и редактирования ее имя следует ввести в однострочном редакторе (компонент Editi) и затем нажать кнопку с заголовком Открыть таблицу с именем.

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



Глава 11


Создание и просмотр отчетов с помощью Rave Reports

Отчет представляет собой печатный документ, содержащий данные, аналогич­ные получаемым в результате выполнения запроса к БД или из некоторого дру­гого источника — электронной таблицы, сообщения электронной почты, тек­стового документа и др. Можно выделить следующие виды отчетов:

□ простой отчет;

□ отчет с группированием данных;

□ отчет для таблиц, связанных отношением "главный-подчиненный";

□ составной отчет, объединяющий несколько разных отчетов.

Характеристика генератора отчетов

В Delphi 7 для создания отчетов предназначен генератор отчетов Rave Reports 5.0 фирмы Nevrona, компоненты которого, предназначенные для управ­ления отчетами, размещены на странице Rave Палитры компонентов. Назначе­ние компонентов указано в главе 2. Генератор отчетов имеет развитые средства визуального проектирования отчетов.

Из состава Палитры компонентов изъята страница QReport, содержащая набор компонентов, предназначенных для создания отчетов. Как отмечалось, для обеспечения обратной совместимости компоненты страницы QReport размеще­ны в пакете dclqrt70.bpl в папке \Delphi 7\Bin и могут быть установлены в Па­литру компонентов.

Генератор отчетов Rave Reports позволяет создавать отчеты для обычных при­ложений и для приложений баз данных. При этом обеспечивается возможность создания отчетов для приложений баз данных, использующих различные меха­низмы доступа к данным BDE, ADO и dbExpress.

Компоненты, расположенные на странице Rave Палитры компонентов, предна­значены для управления отчетами в приложении. Важнейшими из них являются компоненты RvProject и RvSystem. Так, компонент RvProject типа TRvProject задает представление проекта отчета в приложении Delphi, а ком-


302


Часть II. Технологии доступа к данным


понент RvSystem служит для управления отчетом и, к примеру, позволяет за­дать печать, предварительный просмотр или передачу отчета в файл.

Отчет размещается в файле с расширением rav, который представляет проект создаваемого отчета и содержит информацию об отчете, параметры оформления страниц отчета и др. В состав проекта отчета может входить один или несколько отчетов, в каждом из которых может быть произвольное число страниц и гло­бальных страниц. На страницах отчета и на глобальных страницах могут разме­щаться графические и текстовые объекты, связанные с источниками данных приложения Delphi.

Визуальный конструктор отчетов Rave Reports 5.0 повышает удобство и упроща­ет непосредственную разработку отчетов. Вызвать визуальный конструктор отче­тов можно тремя путями: с помощью команды Tools\Rave Designer меню Delphi, двойным щелчком мыши на компоненте RvProject или с помощью команды Rave Visual Designer контекстного меню компонента Rv Project.

Кроме того, в состав генератора отчетов входит ядро, которое обеспечивает управление отчетом, предварительный просмотр и отправку на печать. Код ядра при компиляции помещается в приложение, тем самым обеспечивается авто­номность последнего.

Визуальное конструирование отчетов

Визуальный конструктор отчетов Rave Reports 5.0 служит для повышения удоб­ства и упрощения непосредственной разработки отчетов. С его помощью можно быстро создать новый отчет, глобальную страницу, страницу отчета, настроить параметры отчета, выполнить подключение источника данных и др.

Интерфейс визуального конструктора

Вызов визуального конструктора отчетов можно выполнить с помощью команды Tools\Rave Designer меню Delphi, двойным щелчком мыши на компоненте RvProject или с помощью команды Rave Visual Designer контекстного меню ком­понента RvProject. Возможный вид окна Rave Reports 5.0 приведен на рис. 11.1.

Визуальный конструктор отчетов имеет практически стандартный интерфейс приложений Windows. В верхней части окна визуального конструктора распо­ложено меню. Под ним находится панель инструментов, кнопки которой дубли­руют основные команды визуального конструктора. В правой верхней части конструктора размещена многостраничная панель инструментов, на вкладках которой содержатся компоненты, используемые при создании отчетов, а также элементы, управляющие параметрами объектов отчета (цвет линий, шрифт, вы­равнивание) и масштабом отображения отчета в окне.

Инспектор компонентов отчета, расположенный в левой части окна визуального конструктора, позволяет выполнить настройку свойств компонентов отчета, кото­рые выбираются в дереве проекта отчета. В нижней части Инспектора компонен­тов отчета может отображаться подсказка для выбранного свойства. Управление


Глава 11. Создание и просмотр отчетов с помощью Rave Reports


303


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

В центральной части окна визуального конструктора расположен блокнот с двумя вкладками: Page Designer (Конструктор страниц) и Event Editor (Редактор событий). С помощью вкладки Page Designer можно добавлять, удалять и на­страивать компоненты на отдельных страницах отчета. На этой вкладке имеется еще один блокнот, каждая из вкладок которого содержит одну страницу отчета. С помощью вкладки Event Editor создаются обработчики событий для отчетов, страниц, элементов оформления и компонентов отчета.

Дерево проекта отчета, размещенное в правой части окна визуального конструк­тора, отображает состав компонентов открытого проекта отчета. С помощью двойного щелчка удобно выбирать компоненты проекта отчета для отображения в центральной части окна и настройки свойств в Инспекторе компонентов.

Состав проекта отчетов

В дереве проекта отчетов RaveProject (см. рис. 11.1) имеются следующие три составляющие:

□ Report Library (Библиотека отчетов проекта) — содержит все отчеты проекта;


304


Часть II. Технологии доступа к данным


П Global Page Catalog (Каталог глобальных страниц) — содержит перечень страниц, являющихся общими для всего проекта;

□ Data View Dictionary (Словарь просмотров данных) — содержит объекты со­единения с данными из внешних источников.

Рассмотрим более подробно каждую из названных составляющих проекта отчетов.

Библиотека отчетов проекта содержит все отчеты, входящие в состав проекта. Отдельный отчет в составе проекта включает произвольное число страниц, со­держащих компоненты с данными, текстом и графикой, а также компоненты, повышающие наглядность оформления отчета.

При работе с проектом отчетов выделяют текущий отчет. При открытии проекта отчетов текущим становится первый отчет в составе проекта отчетов. При необ­ходимости двойным щелчком мыши в дереве проекта отчетов можно установить текущим произвольный отчет. При выходе из среды визуального конструктора текущий отчет в составе проекта сохраняется и может использоваться при рабо­те с отчетом с помощью компонента RvProject в приложении Delphi.

К проекту отчета можно добавлять новые отчеты с помощью команды File\New Report визуального конструктора. К текущему отчету можно добавлять страницы с помощью команды File\New Report Page. Для удаления отчета, страницы отче­та или глобальной страницы достаточно выделить отчет или страницу отчета в дереве проекта отчетов и нажать клавишу <Delete>.

В отчет может входить произвольное число страниц. Перед предварительным просмотром и печатью отчета можно выбрать произвольное подмножество стра­ниц отчета и добавить нужные страницы из каталога глобальных страниц. В от­чете для управления составом и очередностью печати страниц предназначено свойство PageList. Если значение этого свойства не определено, то печатаются все страницы отчета в порядке их следования в дереве проектов отчета. Для за­дания значения свойства PageList используется редактор списка страниц Page List Editor (рис. 11.2), позволяющий сформировать список страниц для печати.

В проекте отчетов RaveDemo.rav, расположенном в папке \Borland\Delphi7\ Rave\Demos, имеется библиотека, содержащая множество различных отчетов. Например, в ее составе имеются такие отчеты, как MultiPageReport (много­страничный отчет), BarCodes (штрихкоды), MasterDetailReport (отчет "мастер-детальный"). При необходимости полезно использовать отчеты из этой библио­теки в качестве шаблона при создании аналогичных отчетов.

Каталог глобальных страниц содержит страницы, которые являются доступными в любом отчете из состава библиотеки отчетов открытого проекта. Это позволя­ет получить стандартное оформление для ряда страниц отчета, таких как ти­тульный лист, рамка для дипломных проектов и отчетов о НИР и т. п.

Напомним, что имеющуюся в каталоге глобальную страницу можно добавить в спи­сок страниц отчета для печати с помощью редактора списка страниц (см. рис. 11.2).

Для открытого проекта отчетов в состав каталога пустую глобальную страницу можно добавить, выполнив команду File\New Global Page. После этого глобальную страницу можно редактировать и добавлять в состав страниц любого из отчетов.


Глава 11. Создание и просмотр отчетов с помощью Rave Reports


305


Рис. 11.2. Окно редактора Page List Editor

Словарь просмотров данных содержит объекты доступа к данным из внешних источников. Создание новых объектов выполняется с после задания команды File\New Data Object. При этом открывается диалоговое окно Data Connections (рис. 11.3), в котором для выбора предлагаются следующие типы объектов:

Data Lookup Security Controller (Контроллер безопасности поиска данных) — обеспечивает аутентификацию пользователей по имени и паролю;

Database Connection (Соединение с базой данных) — устанавливает соедине­ние с внешним источником данных для требуемой технологии доступа (ADO, BDE, dbExpress);



 


306


Часть II. Технологии доступа к данным


П Direct Data View (Прямой просмотр данных) — создает просмотр данных для активного соединения с источником данных;

Driver Data View (Просмотр данных с помощью драйвера) — создает про­смотр данных на основе уже имеющегося в словаре соединения;

Simple Security Controller (Простой контроллер безопасности) — задает спи­сок пользователей для возможной организации доступа в отчетах.

Объекты в составе словаря просмотров данных доступны для всех отчетов, вхо­дящих в состав проекта отчетов. Названные типы объектов используются пре­имущественно при создании отчетов для приложений баз данных.

Редактор событий

В проекте любому отчету, странице, элементу оформления или компоненту от­чета можно назначить один или несколько обработчиков событий. Сделать это можно с помощью редактора событий, расположенного на вкладке Event Editor (рис. 11.4) блокнота в центральной части окна визуального конструктора.

Создание обработчика событий выполняется следующим образом. В дереве проек­та отчетов выбирается текущим отчет, страница или компонент, для которого тре­буется создать обработчик. Далее в списке Available Events выбирается одно из доступных для обработки событий. Это событие оказывается в списке Defined Events (Определенные события) и автоматически создается обработчик этого со­бытия. Теперь для этого события следует задать собственно код обработки собы­тия в нижней части окна ректора событий и нажать кнопку Compile. При этом происходит компиляция кода обработчика с выдачей сообщения о завершении компиляции или с сообщением об ошибке. При необходимости можно выбрать другое событие в списке Available Events и назначить ему свой обработчик.

При написании кода обработки событий используется синтасис, близкий к син­таксису языка Object Pascal, допускается применение некоторых методов Delphi.


Глава 11. Создание и просмотр отчетов с помощью Rave Reports


307


К примеру, на рис. 11.4 приведен код обработчика события OnBeforeReport, с помощью которого свойству Matchside компонента Bitmapl присваивается

значение msinside.

Компоненты, представленные



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-02-16 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: