Одним из наиболее очевидных аспектов, который может потребоваться настроить во время выполнения для модуля просмотра — это внешний вид модуля просмотра. Вы можете, например, изменять во время выполнения значения свойств, которые отображаются в окне Properties во время проектирования. Однако, наиболее часто используемые параметры отчета, такие как формула выборки записей отчета и значения полей параметров, могут быть изменены во время выполнения только за счет обращения к объектной модели CrystalReportViewer.
Использование объектной модели модуля просмотра возможно благодаря сборкам, устанавливаемым вместе с VS.NET и Crystal Reports XI. В частности, когда вы добавляете модуль просмотра, в ваш проект в виде ссылки автоматически добавляется пространство имен CrystalDecisions .Windows. Forms или CrystalDecisions .Web. Это пространство имен как раз и позволяет пользоваться объектной моделью для работы с модулями просмотра. В случае установки на компьютер, на котором уже имеется Visual Studio .NET, версии Crystal Reports XI Developer Edition, это пространство имен обновляется и дополняется возможностями последней версии.
Стандартная настройка во время выполнения подразумевает просто настройку поведения модуля просмотра, например того, должно в нем отображаться дерево групп или нет, какие кнопки должны быть доступны в его панели инструментов или должна ли вообще отображаться панель инструментов. Благодаря встроенной в VS.NET технологии Intellisense, как только вы введете имя класса модуля просмотра и поставите после него точку, на экране автоматически появится окно со списком доступных свойств и методов (рис. 26.17). В этом окне вы сможете выбирать те или иные свойства и методы, а также, если необходимо, просматривать доступные для них аргументы.
Рис. 26.17. Технология Intellisense в действии
Например, следующий фрагмент кода позволяет скрыть дерево групп в модуле просмотра:
CrystalReportViewerl.DisplayGroupTree = False
Более сложная настройка во время выполнения может подразумевать создание дополнительных объектов, присваивание значений свойствам и передачу объекта свойству модуля просмотра для изменения поведения самого модуля просмотра. Например, выполнение следующего фрагмента кода приведет к тому, что дерево групп будет отображаться на фоне цвета морской волны, а его элементы будут выделены полужирным шрифтом кораллового цвета (это пример усовершенствования объектной модели, который возможен в случае установки Crystal Reports XI):
Dim GroupTreeStyle As New CrystalDecisions.Shared.GroupTreeStyle With GroupTreeStyle .BackColor = System.Drawing.Color.Aqua .ForeColor = System.Drawing.Color.Coral .Font.Bold = True End With
CrystalReportViewerl.GroupTreeStyle = GroupTreeStyle
Обратите внимание на объявление класса GroupTreeStyle, взятого из пространства имен CrystalDecisions. Shared. Это пространство имен, также автоматически добавляемое в проект при добавлении в него модуля просмотра, предоставляет объектную модель, предлагающую основные объекты и свойства, которые могут использоваться как в Web-, так и в Windows-приложениях Crystal.
На заметку! В предыдущем примере было продемонстрировано объявление объекта с помощью полностью уточненного имени пространства имен. Если вы решите добавить оператор Imports для импорта этого пространства имен, вам не нужно будет вставлять выражение CrystalDecisions, Shared перед именем класса объявляемого объекта.
С помощью объектной модели CrystalReportViewer также могут быть установлены и другие свойства отчета, не имеющие отношения к его внешнему виду. Некоторые наиболее очевидные из них описываются в следующих разделах.