Использование конструктора Embeddable Report Designer

Оценить
(0 голоса)

Одной из наиболее часто используемых и уникальных функциональных возможностей RDC является конструктор Embeddable Report Designer. Этот элемент управления типа ActiveX в случае добавления на VB-форму предоставляет конечному пользователю все возможности для проектирования и изменения структуры отчета в интерактивном режиме, которые, по большей части, совпадают с возможностями, предлагаемыми конструктором ActiveX, который появляется в IDE Visual Basic IDE, когда RDC впервые добавляется в проект. Конечным результатом работы с конструктором Embeddable Report Designer является объект Report, идентичный объекту Report, который описывался ранее в этой главе. Далее этот объект может использоваться в VB-коде, передаваться в Report Viewer, экспортироваться (с помощью метода Export), распечатываться на принтере (с помощью метода Printout) или сохраняться в виде файла .RPT (с помощью метода SaveAs).

Для всей той интерактивной мощи, которую элемент Embeddable Report Designer может предложить конечным пользователям, он удивительно просто реализуется в VB- приложении. Чтобы сделать элемент Embeddable Report Designer доступным в VB-приложении, потребуется выполнить такие действия:

1.   Добавить соответствующие ссылки и компоненты из меню Project.

2.   Добавить элемент управления Embeddable Report Designer на форму.

3.   Добавить в Embeddable Report Designer объект Report.

4.   Выполнить все необходимые манипуляции с объектом Report, такие как вывод на печать, экспортирование, сохранение или отображение в Report Viewer.

Для начала в VB выберите в меню Project пункт Components. Появится диалоговое окно Components со списком всех зарегистрированных на данном компьютере элементов ActiveX (рис. 25.20). Установите отметку рядом с элементом Embeddable Crystal Reports Designer Control Library 11.0. В результате этого в панели элементов управления Visual Basic появится пиктограмма Crystal Reports. Если хотите, можете также установить отметку рядом с элементом Crystal ActiveX Report Viewer Library 11.0. Это необходимо сделать в том случае, если вы планируете включить в ваше приложение оперативное средство для просмотра отчетов.

Рис. 25.20. Диалоговое окно Components

Вам также следует добавить ссылку на комбинированную библиотеку времени выполнения/времени проектирования Crystal Reports XI. Чтобы сделать это, выберите в меню Project пункт References и установите отметку рядом с элементом Crystal Reports ActiveX Designer Design and Run-Time Library 11.0.

На заметку! Эта комбинированная библиотека времени проектирования и времени выполнения (CRAXDDRT. DLL) является одной из двух библиотек RDC, которые вы можете использовать. Кроме того, в RDC доступна также библиотека только времени выполнения (CRAXDRT. DLL). Планируя распространять свои приложения, включать комбинированную библиотеку необходимо, только если в приложении будет присутствовать элемент Embeddable Report Designer. Если этот конструктор вам не будет нужен, используйте библиотеку только времени выполнения (CRAXDRT. DLL).

После того, как вы добавите соответствующие компоненты и ссылки из меню Project, в панели элементов управления Visual Basic появится новая пиктограмма Crystal Reports для элемента управления Embeddable Report Designer. Просто добавьте этот элемент управления на форму, как добавили бы любой другой элемент управления Visual Basic. Как только вы это сделаете, в форме появится окно конструктора (рис. 25.21), а в окне Properties — его свойства времени проектирования.

Использование конструктора Embeddable Report Designer

Рис. 25.21. Окно конструктора Embeddable Report Designer

Включить конструктор можно, просто указав в качестве значения для его свойства ReportObject существующий объект Report, как показано в следующем коде:

CRDesignerCtrlll.ReportObject = Report

CRDesignerCtrlll.DisplayToolbar = True

CRDesignerCtrlll.EnableHelp = False

В этом фрагменте кода предполагается, что объекту Embeddable Report Designer было оставлено его имя по умолчанию (CRDesignerCtrlll), и что уже объявленный объект Report с именем Report находится в контексте текущей процедуры. Если вы хотите, чтобы конечный пользователь мог изменять существующий отчет, вы должны будете получить этот объект Report, используя метод OpenReport объекта приложения, или, возможно, воспользоваться методом NewReport объекта приложения и программным способом организовать доступ к БД, полям, текстовым объектам и другим элементам (как в приложении-примере, представленном на Web-сайте данной книги). Однако обратите внимание, что конструктор Embeddable Report Designer предлагает возможность отображать окно эксперта Database Expert с помощью соответствующей команды в контекстном меню, поэтому вы, если хотите, можете передать конструктору совершенно “пустой” объект отчета. В этом случае конечные пользователи смогут добавлять в него таблицы и поля по своему усмотрению.

Вы также заметите, что свойству EnableHelp конструктора присвоено значение False. Это значение выбирается для того, чтобы скрыть кнопку Help в панели инструментов и в контекстных меню конструктора. На самом деле Embeddable Report Designer предлагает целый ряд свойств, один метод и несколько событий стандарта Windows в виде части своей собственной библиотеки. Большая часть настройки данного кон

Использование конструктора Embeddable Report Designer

структора для работы с отчетами выполняется путем установки значений для свойств в окне Properties (Свойства) во время проектирования или во время выполнения в коде. Подробное описание этих свойств можно найти в справочной системе, в разделе “Embeddable Crystal Reports Designer Control Object Model” (“Объектная модель элемента управления Embeddable Crystal Reports Designer”).

Совет. Если вы не скроете кнопку Help в конструкторе Embeddable Report Designer; присвоив его свойству EnableHelp значение False (либо в окне Properties, либо во время выполнения в коде)у при попытке получить доступ к оперативной справочной системе пользователи будут получать следующее сообщение об ошибке: “Help File not found” (“Справочный файл не найден”). Информация о том, как можно создать файл .HLP в Windows и использовать его с Embeddable Report Designer; содержится в файле CrystalDevHelp. С НМ. Отыщите в этом файле раздел иEmbeddable Crystal Reports Designer Control Object Model”, а затем выберите подраздел “Distributing the Embeddable Report Designer” (uРаспространение Embeddable Report Designer”).

Как только этот код будет выполнен, и отобразится форма, появится конструктор отчетов, идентичный конструктору, который появляется в Visual Basic IDE, когда вы впервые добавляете RDC. Пользователи могут применять расположенное в его левой части окно проводника Filed Explorer для добавления полей, создания формул и прочих действий. Они могут выделять объекты и форматировать их, используя команды контекстного меню, появляющегося по щелчку правой кнопкой мыши, или кнопки панели инструментов. Главное отличие между конструктором Embeddable Report Designer и фактической копией Crystal Reports состоит в том, что взаимодействие с ним может осуществляться только посредством кнопок панели инструментов, окна проводника Filed Explorer и контекстных меню: в конструкторе Embeddable Report Designer нет стандартных выпадающих меню. На рис. 25.22 показан конструктор Embeddable Report Designer и некоторые элементы его интерфейса.

Завершив работу с отчетом, пользователь может просто закрыть окно конструктора или воспользоваться каким-то другим элементом пользовательского интерфейса, который вы добавили в форму, таким как командная кнопка. Однако сам конструктор не содержит вкладку Preview, знакомую пользователям Crystal Reports, поэтому вам придется предусмотреть способ просмотра измененного отчета в коде.

Конструктор просто возвращает в ваш код Visual Basic тот же объект Report, который вы указали вначале, но с внесенными конечным пользователем изменениями. После этого вы можете передать этот измененный объект Report в элемент управления Report Viewer, экспортировать его в файл, отправить по электронной почте или распечатать его на принтере, вызвав метод Printout. Эти возможности подробно рассматривались ранее в этой главе.

Распространение Windows-приложений, созданных с помощью RDC

После того, как вы создадите RDC-приложение, интегрирующее отчет Crystal Reports, вы захотите скомпилировать и протестировать его. Этот процесс не изменился в версии Crystal Reports XI. Если только вы не используете приложение исключительно для своих целей, вам также придется настроить механизм распространения вашего приложения конечным пользователям.

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

 

Обзор распространения
Вопросы, касающиеся баз данных
Вопросы, касающиеся экспорта файлов
Библиотеки пользовательских функций
Пакет программ Crystal Reports обладает серьезными функциональными возможностями

Добавить комментарий


Защитный код
Обновить