Поделиться через


Добавление пользовательского кода в отчет (конструктор отчетов Visual Studio)

К отчету можно добавить пользовательские функции или ссылки на функции внешних сборок. При компиляции проекта происходит автоматическое обращение к следующим сборкам: Microsoft.VisualBasic, AllMembers.T:System.Convert и AllMembers.T:System.Math. С помощью диалогового окна Свойства отчета или элемента CodeModules в определении отчета можно создать ссылки на дополнительные сборки. Диалоговое окно Свойства отчета можно также использовать для определения пользовательских функций. Для определения пользовательских функций в определении отчета используйте элемент Code. Примечание. Эти функции невозможно передать в виде набора значений данных (в частности, не поддерживаются пользовательские статистические вычисления).

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

Внедренный код

Чтобы использовать код в отчете, необходимо добавить в отчет блок кода. Этот блок кода может содержать несколько методов. Методы во внедренном коде должны быть написаны на языке Microsoft Visual Basic и основываться на экземпляре.

Добавление кода в отчет

  1. В меню Отчет выберите пункт Свойства отчета.

    NoteПримечание.

    Если меню Отчет недоступно, щелкните внутри области конструирования отчетов.

  2. На вкладке Код введите код в поле Пользовательский код.

Методы во внедренном коде доступны через глобально определенный элемент Code. Доступ к нему можно получить с помощью ссылки на элемент Code или имя метода. В следующем примере вызывается метод ToUSD, который преобразует значение поля StandardCost в долларовое значение:

=Code.ToUSD(Fields!StandardCost.Value)

Пользовательские сборки

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

Добавление в отчет ссылки на сборку

  1. В меню Отчет выберите пункт Свойства отчета.

    NoteПримечание.

    Если меню Отчет недоступно, щелкните внутри области конструирования отчетов.

  2. На вкладке Ссылки сделайте следующее.

    • В поле Ссылки нажмите кнопку добавления (...), затем выберите или перейдите к сборке из диалогового окна Добавить ссылку.

    • В поле Классы введите имя класса и имя экземпляра для использования в отчете.

      NoteПримечание.

      Укажите имя класса и имя экземпляра только для элементов, зависимых от экземпляров. Не указывайте в списке Классы статические элементы.

Для ссылки в выражении на пользовательский код следует вызвать элемент класса этой сборки. Способ создания ссылки зависит от того, является ли метод статическим или основывается на экземпляре. Статические методы в пользовательской сборке доступны из всех элементов отчета. Чтобы получить доступ к статическим методам из выражений, нужно указать пространство имен, класс и имя метода. В следующем примере вызывается метод ToGBP, который конвертирует значения поля StandardCost из долларов США в фунты стерлингов:

=CurrencyConversion.DollarCurrencyConversion.ToGBP(Fields!StandardCost.Value)

Методы на основе экземпляра доступны через глобально определенный элемент Code. Получить к нему доступ можно с помощью ссылки на элемент Code, затем на экземпляр и на имя метода. В следующем примере вызывается метод ToEUR, который конвертирует значение поля StandardCost из долларов в евро:

=Code.m_myDollarCoversion.ToEUR(Fields!StandardCost.Value)

NoteПримечание.

В конструкторе отчетов пользовательская сборка загружается один раз и не выгружается до тех пор, пока не будет закрыта среда Visual Studio. Если при предварительном просмотре производятся изменения использованной в отчете пользовательской сборки, а затем отчет просматривается снова, то при повторном открытии отчета для предварительного просмотра изменения отображаться не будут. Для перезагрузки сборки закройте и повторно откройте среду Visual Studio, затем выполните предварительный просмотр отчета.

Дополнительные сведения об использовании пользовательских сборок можно получить, выполнив поиск фразы «Использование пользовательских сборок с отчетами» в электронной документации по SQL Server 2005. Электронная документация доступна в большинстве выпусков Visual Studio 2008. Ее также можно найти на веб-узле MSDN www.microsoft.com. Сведения о пользовательских сборках в электронной документации применимы к отчетам, развертываемым с помощью элементов управления ReportViewer.

См. также

Справочник

Диалоговое окно «Изменить ссылки» (конструктор отчетов Visual Studio)
Диалоговое окно «Изменить классы» (конструктор отчетов Visual Studio)

Понятия

Использование выражений в отчете (конструктор отчетов Visual Studio)