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


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

В отчеты, использующие элемент управления ReportViewer, можно включать выражения языка программирования Microsoft Visual Basic. Эти выражения можно использовать для вычисления значений элементов отчета, а также значений таких свойств элемента отчета, как стиль, форматирование и т. п. Можно использовать любые функции языка Visual Basic, а также встроенные функции, которые поддерживаются только в файлах определения отчета.

Дополнительные сведения о выражениях, часто используемых в отчетах с элементом управления ReportViewer, см. в разделе Общие выражения для отчетов (конструктор отчетов Visual Studio).

Выражения полей

Наиболее часто встречаются выражения, выводящие значение в текстовом поле. Они называются выражениями полей. Для связи поля базы данных с элементом отчета выражение должно включать коллекцию Fields, имя поля и свойство Value. Значение создается автоматически при перетаскивании поля в отчет. Следующий пример показывает выражение, выводящее в текстовом поле название продукта:

=Fields!Product.Value

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

Примеры выражений полей представлены ниже.

  • Выражение, объединяющее поля FirstName и LastName.

    =Fields!FirstName.Value & " " & Fields!LastName.Value
    
  • Выражение, выполняющее суммирование по полю LineTotal.

    =Sum(Fields!LineTotal.Value)
    

Дополнительные сведения о коллекции Fields см. в разделе Глобальные коллекции для выражений в отчетах (конструктор отчетов Visual Studio).

Условное форматирование

Выражения могут использоваться для управления внешним видом элементов отчета. Например, можно написать выражение для свойства текстового поля Color, которое будет выводить данные в различном цвете в зависимости от значения поля. Вот пример условного форматирования.

  • Данное выражение для свойства Color текстового поля выводит его значение красным цветом, если значение поля Cost больше значения поля Revenue. Если это условие не выполняется, текст будет черным.

    =IIf(Fields!Cost.Value > Fields!Revenue.Value, "Red", "Black")
    

Дополнительные сведения об условном форматировании см. в разделе Добавление стиля и форматирования в отчет (конструктор отчетов Visual Studio).

Функции служб Reporting Services

Службы Reporting Services содержат ряд встроенных функций, которые можно использовать в выражениях. Они включают стандартные статистические функции: Sum, Min, Max и Count, а также такие функции, как RowNumber и RunningValue. Полный список функций с их описаниями см. в разделе Встроенные функции для отчетов (конструктор отчетов Visual Studio).

Ссылки на классы и пользовательский код

Выражения в отчете могут также содержать ссылки на классы в пределах пространств имен Microsoft.VisualBasic, System.Convert и System.Math. При использовании классов или функций из других пространств имен необходимо использовать полное имя пространства, например System.Collections.ArrayList.

Для получения дополнительной функциональности, не предоставляемой функциями служб Reporting Services и классами по умолчанию, можно использовать пользовательский код, другую стандартную сборку или блок кода отчета. Для этого нужно построить пользовательскую сборку и ссылаться на нее из выражений. Дополнительные сведения см. в разделе Добавление пользовательского кода в отчет (конструктор отчетов Visual Studio).

См. также

Понятия

Элементы управления ReportViewer (Visual Studio)
Общие сведения об отчетах (Visual Studio)

Другие ресурсы

Образцы и пошаговые руководства