<< Click to Display Table of Contents >> Navigation: Проект > Документы объектов > Генератор отчетов > Примеры построения отчетов > Общие принципы создания отчетов в MasterSCADA > Примеры создания отчетов > Отчет третий. Расход газа > Работа с переменными в отчете. События отчета |
Отчет о расходе газа построен. Можно его оформить (сделать границу, заголовок отчета) и завершить работу с ним. Однако мы также сделаем, чтобы в каждой строчке данных выводилось время начала и конца интервала расчета, и расход за этот промежуток. При этом мы познакомимся с очень важной функцией редактора отчетов – Событиями.
Чтобы вывести в бэнд время предыдущего интервала, заведем для него специальную переменную. Добавим переменную через контекстное меню панели Словарь. Назовем ее "Предыдущее", тип установим DateTime.
Добавим эту переменную на бэнд. Оформим бэнд – добавим в него подписи, и сделаем у бэнда границу.
Теперь сделаем, чтобы переменная "Предыдущее" получала значение времени предыдущего бэнда. Для этого воспользуемся событиями.
У каждого бэнда есть назначенные события – если этим событиям присвоить набор инструкций, то они будут выполнены в определенный момент. Это очень полезная функция поможет нам решить проблему.
Выделим бэнд источника "Данные" и перейдем на закладку Свойства. Помимо свойств в данном окне можно задавать и события – для этого есть специальная кнопка.
Нажмем на нее. Откроется окно закладка событий
Наиболее важные действия:
1) Начало построения – событие, которое выполняется, когда еще ни одна строка данных не выведена на экран.
2) Конец построения – событие, которое выполняется, когда построение всех строк данных завершено.
3) Перед печатью. В данном случае печать это не вывод на принтер, а вывод на экран. То есть событие вызывается перед выводом строки данных.
4) После печати – событие вызывается после вывода строки данных.
Примечание. Возможность присвоения бэнду события – очень важная функция, которую можно использовать для самых разных задач. Например, с помощью событий можно работать с переменными, значениями колонок, производить обработку и вычисления. Код события пишется на языке C#.
В начале построения нам необходимо инициализировать переменную. Переменную нужно инициализировать значением времени начала, то есть присвоить ей значение переменной "Начало".
Для этого добавим код в действие Начало построения:
Предыдущее=Начало;
Данный код присвоит значение переменной "Начало" переменной "Предыдущее" перед тем, как начнется построение строк данных.
Теперь сделаем, чтобы переменная сохраняла значение времени предыдущего бэнда. Для этого добавим код в событие После печати:
Предыдущее=Данные.Время;
Таким образом, после того как будет выведена строка, переменной "Предыдущее" присвоится значение переменной "Данные.Время". Это значение сохранится, и им можно будет воспользоваться при построении следующей строки данных.
Запустим построение отчета.