Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
АИУС / Практика / Разработка HMI-приложений.pdf
Скачиваний:
270
Добавлен:
18.05.2015
Размер:
15.71 Mб
Скачать

11.3Использование выражений

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

Синтаксис

Выражение начинается со знака равенства (=), за которым следует сочетание

идентификаторов (наименований) полей, констант, функций и операторов. Результатом выражения является единственное значение, вычисляемое обработчиком отчета.

Создание

Выражения создаются автоматически (например, при перетаскивании поля источника данных в элемент отчета) или могут задаваться пользователем. Выражения пишутся на языке Microsoft Visual Basic for Applications.

Классификация

ВDataRate выражения классифицируются по их функциям в отчете:

Статистическая обработка данных - вычисления суммы, среднего значения, процентной доли или произведения по отдельному набору строк

Условное форматирование - форматирование текста или фона в зависимости от заданной логики

Условный текст - заголовок отчета варьируется в зависимости от пользователя, запросившего отчет

Модуль отчетов 449

Сцепление текста - создание текста из нескольких констант и полей источника данных

Фильтрация данных отчета

Группирование и сортировка данных.

Динамическое формрование содержимого верхнего и нижнего колонтитулов страницы.

Создание выражений Работа с выражениями

Применение глобальных коллекций в выражениях Примеры выражений Использование функций в выражениях

11.3.1 Создание выражений

Выражение можно создать с помощью Редактора выражений или ввести непосредственно в текстовое поле, поле группирования или поле сортировки выражений.

РЕДАКТОР ВЫРАЖЕНИЙ

Редактор выражений предназначен для визуального создания выражений.

Как вызвать редактор выражений

Редактор выражений можно вызвать одним из следующих способов:

Выбрать <Выражение...> из раскрывающегося списка свойства элемента отчета или полей диалоговых окон

Выбрать пункт Выражение ... из контекстное меню элемента отчета (вызывается щелчком правой кнопкой мыши по элементу)

Диалоговое окно Редактор выражений

Окно Редактор выражений содержит:

450 DataRate

Область ввода выражения (кода Microsoft Visual Basic for Applications)

Дерево компонент

Список функций или переменных

Панель описания.

Область ввода и отображения

Область ввода выражения располагается на самом верху окна редактора и предназначена для ввода и отображения выражения.

Если свойство элемента отчета содержит выражение, то при открытии редактора, выражение элемента отображается в данной области.

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

Дерево компонент

Дерево включает компоненты выражения такие, как константы, переменные, поля источников данных, операторы, функции. Выбор типа компонента определяет набор компонент, доступных для добавления в выражение.

Например, выбор Глобальные переменные делает доступными переменные:

ExecutionTime (дата и время создания отчета), PageNumber (номер текущей страницы отчета), TotalPages (число страниц в отчете), UserID (ID пользователя),

Language (язые пользователя).

Панель описаний

На этой панели отображается текст помощи по выбранному элементу, функции или оператору, а также примеры их использования.

Кнопки ОК, Отмена, Помощь, Возврат, Вставить

Модуль отчетов 451

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

Допустимые ссылки в выражениях

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

Элементы

Описание функций и создание для них ссылок

 

 

Функции отчетов

Встроенные. Функции, предоставляющие статистические значения

 

элементов отчета и прочие программы, поддерживающие

 

статистическую обработку. Реализацию Aggregate предоставляет

 

каждый поставщик данных. Дополнительные сведения см. в

 

разделе Использование функций отчетов в выражениях.

Коллекции отчетов

Встроенные. Globals, User, Fields, ReportItems, Datasources,

 

Datasets. Дополнительные сведения см. в разделе

 

Применение глобальных коллекций в выражениях.

Параметры

Параметры заданные для отчета.

 

 

Библиотека

Встроенная. Дополнительные сведения см. в разделе «Visual Basic

программ этапа

Run-Time Library Members» на узле msdn.microsoft.com.

исполнения Visual

 

Basic for Applications

 

System.Math

Встроенные. Дополнительные сведения см. в разделе Math.

 

 

System.Convert

Встроенные. Дополнительные сведения см. в разделе Convert.

 

 

Примеры выражений приведены в разделе Примеры выражений.

11.3.2Работа с выражениями

Вэтом разделе представлен обзор областей использования выражений в шаблонах отчетов.

Примеры выражений приведены в разделе Примеры выражений.

ИСПОЛЬЗОВАНИЕ ВЫРАЖЕНИЙ ДЛЯ ДОСТУПА К ПОЛЯМ ИСТОЧНИКА

ДАННЫХ

Ввыражении можно обратиться к полю источника данных и отобразить его значение в текстовом поле.

Для связи полученного поля с элементом отчета выражение должно включать:

Глобальную коллекцию Fields

Имя поля

Свойство Value.

При перетаскивании поля источника данных в элемент отчета Текстовое поле в

свойство Значение элемента автоматически добавляется выражение =Fields!<Имя

452 DataRate

поля>.Value.

Пример 1:

выражение: =Fields!LastName.Value

результат : строка - значение поля LastName.

Например, Иванов Если выражение используется для доступа к полю базы данных,

то результатом будет множество строк столбца LastName таблицы базы данных.

Например, Иванов

Петров

Сидоров

Пример 2: комбинирования констант и значений из нескольких полей данных

выражение: =Fields!FirstName.Value & " " & Fields!LastName.Value

результат: строка - значение поля FirstName пробел значение поля LastName.

Например, Иван Иванов

ИСПОЛЬЗОВАНИЕ ВСТРОЕННЫХ ФУНКЦИЙ

В выражениях можно обращаться к общим (встроенным) функциям.

Например, статистические функции (Min, Max, First, Last, Sum, Count и т.п.) обычно используются в текстовых полях верхнего или нижнего колонтитулов (Секции отчета). Полный список встроенных функций, к которым можно обращаться из выражений, приведен в разделе Использование функций в выражениях.

Пример 3: подсчет количества и суммы значений поля источника данных

Подсчитаем количество и сумму значений тренда тега Синус (Графики ). Добавим в отчет два элемента Текстовое поле и зададим для них выражения в свойстве Значение:

выражение: ="Количество значений поля Синус_Value_Значение: " &

Count(Fields!Синус_Value_Значение.Value)

выражение: ="Сумма значений поля Синус_Value_Значение : " &

Sum(Fields!Синус_Value_Значение.Value)

результат :

Пример 4: форматирование числовых значений

Для форматирования числового значения используется функции Format и строки форматирования Microsoft .NET Framework (Числовые значения и даты ).

Для примера возьмем выражение из примера 3.

Модуль отчетов 453

выражение:

="Сумма значений поля Синус_Value_Значение: " &

Format(Sum(Fields!Синус_Value_Значение.Value), "#.##")

результат : Сумма значений поля Синус_Value_Значение: 4,44

ИСПОЛЬЗОВАНИЕ ПРОСТРАНСТВ ИМЕН .NET Framework И СИСТЕМНЫХ

ПРОСТРАНСТВ ИМЕН

В выражениях можно обращаться к встроенным пространствам имен библиотеки времени выполнения Microsoft.VisualBasic, а также к пространствам имен .NET Framework: System.Convert и System.Math.

Для обращения к другим пространствам имен среды .NET Framework CLR необходимо использовать полный идентификатор пространства имен, например

System.Text.StringBuilder.

Использование условного форматирования

Выражения могут использоваться для управления внешним видом элементов отчета.

Пример 5: управление цветом текста в зависимости от значения поля источника

данных

Определим свойствColor текстового поля с помощью следующего выражения:

выражение: =Iif(Fields!TotalDue.Value < 10000,"Red","Black")

результат : значение текстового поля отображается красным цветом, если значение поля TotalDue меньше 10000, и черным цветом, если это условие не выполняется.

ИСПОЛЬЗОВАНИЕ ВЫРАЖЕНИЙ ДЛЯ ФИЛЬТРАЦИИ И СОРТИРОВКИ

Выражения можно использовать для задания фильтров и сортировок данных (Группировка и сортировка данных)

Фильтры применяются к данным после получения данных из источника данных.

ВНИМАНИЕ!!!

Фильтрация и сортировка доступна только в диаграммах.

ИСПОЛЬЗОВАНИЕ ВСТРОЕННЫХ КОЛЛЕКЦИЙ

Ввыражениях можно обращаться к встроенным классам коллекций.

Вдополнение к рассмотренной ранее коллекции Fields можно создавать выражения, обращающиеся к элементам следующих коллекций: Globals, User, ReportItems, DataSets

и DataSources.

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

ИСПОЛЬЗОВАНИЕ ПАРАМЕТРОВ ЯЗЫКОВЫХ СТАНДАРТОВ

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

User.Language .

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

Выражения на основе User.Language можно также использовать в языковых параметрах отчета или его элементов.

454 DataRate