AddEventHandler(Events: IPivotEvents): Integer;
Events. Класс обработчика событий таблицы.
Метод AddEventHandler определяет обработчик событий таблицы.
Обработчик событий таблицы используется только в рамках сессии и не сохраняется вместе с отчётом, поэтому целесообразно использовать формы Fore.
Для выполнения примера в репозитории необходимо наличие:
формы, содержащей следующие компоненты:
EaxDocumentViewerBox с наименованием «EaxDocumentViewerBox1»;
UiErAnalyzer с наименованием «UiErAnalyzer1», который служит источником данных для «EaxDocumentViewerBox1»;
экспресс-отчёта, являющегося источником данных для «UiErAnalyzer1». Отчёт содержит таблицу.
Подключение обработчика будет осуществляться при открытии формы. Удаление обработчика событий с использованием метода IPivot.RemoveEventHandler - при закрытии формы.
Добавьте ссылки на системные сборки: Dimensions, Express, Pivot, Ui.
// Обработчик событий
Public Class Pivot_Events: PivotEvents
// Событие, возникающее при редактировании содержимого отметки измерения
Public Sub OnSelectionContentChange(Value: IDimInstance);
Begin
WinApplication.InformationBox("Произошло событие OnSelectionContentChange для " + Value.Ident);
End Sub OnSelectionContentChange;
End Class Pivot_Events;
// Открытие формы
Sub EVENTHANDLERFormOnShow(Sender: Object; Args: IEventArgs);
Var
Express: IEaxAnalyzer;
Pivot: IPivot;
cl: Pivot_Events;
Begin
// Получим экспресс-отчет
Express := UiErAnalyzer1.ErAnalyzer;
// Получим настройки отображения таблицы данных отчета
Pivot := Express.Pivot;
// Включим возможность генерации событий
Pivot.EventsEnabled := True;
// Создадим новый класс
cl := New Pivot_Events.Create;
// Подключим обработчик событий для таблицы
Pivot.AddEventHandler(cl);
End Sub EVENTHANDLERFormOnShow;
// Закрытие формы
Sub EVENTHANDLERFormOnClose(Sender: Object; Args: IEventArgs);
Var
Express: IEaxAnalyzer;
Pivot: IPivot;
cl: Pivot_Events;
Begin
// Получим экспресс-отчет
Express := UiErAnalyzer1.ErAnalyzer;
// Получим настройки отображения таблицы данных отчета
Pivot := Express.Pivot;
// Включим возможность генерации событий
Pivot.EventsEnabled := True;
// Создадим новый класс
cl := New Pivot_Events.Create;
// Подключим обработчик событий для таблицы
Pivot.AddEventHandler(cl);
// Удалим обработчик событий
Pivot.RemoveEventHandler(Pivot.AddEventHandler(cl));
End Sub EVENTHANDLERFormOnClose;
После запуска формы переименуйте элемент измерения, который отображается в шапке/боковике таблицы. В результате будет выведено информационное окно, в котором указано, для измерения с каким идентификатором возникло событие.
См. также: