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

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