Использование выражений в отчете (конструктор отчетов 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)