Report > Классы сборки Report > ReportEvents > ReportEvents.OnCellChange
OnCellChange (Sheet: IPrxSheet; Column: Integer; Row: Integer; Value: Variant);
OnCellChange (Sheet: Prognoz.Platform.Interop.Report.IPrxSheet; Column: integer; Row: integer; Value: object);
Sheet. Лист отчета, сгенерировавший событие;
Column. Столбец, сгенерировавший событие;
Row. Строка, сгенерировавшая событие;
Value. Значение ячейки, сгенерировавшей событие.
Метод OnCellsChange реализует событие, происходящее при изменении значения ячейки регламентного отчёта.
При вызове метода одновременно в ядре обрабатывается событие IPrxReportUserEvents.EventOnCellChange, которое при желании можно переопределить.
Для выполнения примера предполагается наличие регламентного отчета. Подключите модуль в регламентный отчет, в качестве обработчика событий выберите подключенный модуль и класс EventsClass. В модуле подключите системные сборки: Report, Ui.
Class EventsClass: ReportEvents
// Изменение значения ячейки
Public Sub OnCellChange(Sheet: IPrxSheet; Column: Integer; Row: Integer; Value: Variant);
Begin
WinApplication.InformationBox("Изменено значение ячейки в столбце " + Column.ToString + " в строчке " + Row.ToString + " на листе " + Sheet.Name + ". Новое значение " + Value);
End Sub OnCellChange;
End Class EventsClass;
Imports Prognoz.Platform.Interop.Report;
Imports Prognoz.Platform.Interop.Ui;
Public Class EventsClass: PrxForeNetReportUserEventsClass
// Изменение значения ячейки
Public Override Sub OnCellChange(Sheet: Prognoz.Platform.Interop.Report.IPrxSheet; Column: integer; Row: integer; Value: object);
Var
WinAppCls: WinApplicationClass = New WinApplicationClassClass();
Begin
WinAppCls.InformationBox("Изменено значение ячейки в столбце " + Column.ToString() + " в строчке " + Row.ToString() + " на листе " + Sheet.Name + ". Новое значение " + Value, Null);
End Sub OnCellChange;
End Class EventsClass;
После изменения значения ячейки в регламентном отчете будет выдано информационное сообщение.
См. также: