Обратите внимание

 

Сценарии могут представлять угрозу безопасности. Поэтому в режиме вычисления как Интерпретация (Interpretation) они выключены. Если вы уверены, в безопасности сценариев, можно использовать их в режиме вычисления Компиляция (Compilation).

 

 

 

Кроме стандартных для всех компонентов событий бэнд Данные (Data) имеет три специальных события: Начало построения (BeginRenderEvent), Конец построения (EndRenderEvent) и Построение (RenderingEvent). Существование этих событий обусловлено тем, что бэнд Данные (Data) должен быть создан для каждой строки данных, указанного ему источника данных. Например, если в источнике данных 10 строк, то бэнд Данные (Data) будет создан 10 раз. Событие Начало построения (BeginRenderEvent) вызывается до начала построения бэнда, т.е. когда на печать не выведена ни одна строка данных. Событие может быть использовано для инициализации каких-то данных или переменных, вызова каких-то действий. Событие Конец построения (EndRenderEvent) вызывается после окончания построения бэнда Данные (Data), когда на печать выведены все строки данных. В этом событии обычно производится обработка данных, результатов расчетов. И последнее событие Построение (RenderingEvent), вызывается при построении одной строки данных. Вызов происходит до вывода на печать бэнда Данные (Data). Если в источнике данных 10 строк, то событие Построение (RenderingEvent) будет выведено 10 раз.

 

Произведем расчет количества элементов в источнике данных. В событии Начало построения (BeginRenderEvent) запишем такой код:

 

 

myvariable = 0;

 

 

Предварительно нужно создать переменную myvariable в словаре данных. В событии Построение (RenderingEvent) запишем такой код:

 

 

myvariable = myvariable + 1;

 

 

А событие Конец построения (EndRenderEvent) нам не понадобится. В результате вычисления переменная myvariable будет хранить значение равное количеству элементов в источнике данных. Для того, чтобы отобразить это значение в компоненте Текст (Text) будем использовать такое выражение:

 

 

{myvariable}

 

 

Также нужно установить свойство Обработать в конце (ProcessAtEnd) компонента Текст (Text) в значение истина (true). Это необходимо для того, чтобы вывести уже рассчитанное значение переменной myvariable.