GetRecentChanges: IMatrix;
GetRecentChanges: Prognoz.Platform.Interop.Matrix.IMatrix;
Метод GetRecentChanges возвращает матрицу измененных значений области данных регламентного отчета.
Метод после каждого изменения данных в регламентном отчете возвращает новую матрицу, в которой зафиксированы текущие изменения для области данных.
После сохранения данных отчета или области метод будет возвращать пустую матрицу.
Для выполнения примера предполагается наличие формы, расположенной на ней кнопки с идентификатором «Button1», компонента ReportBox и компонента UiReport с наименованием «UiReport1», являющегося источником данных для ReportBox и регламентного отчета с идентификатором «Rep_1». В инспекторе сборок должны быть указаны ссылки на системные сборки Report, Metabase, Forms, Matrix, ForeSystem.
Пример является обработчиком события OnClick для кнопки.
Sub OBJ46841FormOnShow(Sender: Object; Args: IEventArgs);
Begin
mb:= MetabaseClass.Active;
report:= mb.ItemById("Rep_1").Open(Null) As Iprxreport;
UiReport1.Instance:= report;
End Sub OBJ46841FormOnShow;
Sub Button1OnClick(Sender: Object; Args: IMouseEventArgs);
Var
m_di: IMatrix;
Iter: IMatrixIterator;
Begin
m_di:= report.DataIslands.Item(0).GetRecentChanges;
Iter := m_di.CreateIterator;
Iter.Move(IteratorDirection.First);
While Iter.Valid Do
Debug.Write(Iter.Value + " ");
Iter.Move(IteratorDirection.Next);
End While;
End Sub Button1OnClick;
После выполнения примера при изменении данных и нажатии кнопки, измененные значения будут выведены в консоль.
Для выполнения примера предполагается наличие формы, расположенной на ней кнопки с идентификатором «Button1», компонента ReportBoxNet, компонента UiReportNet с наименованием «UiReportNet1», являющегося источником данных для ReportBoxNet и регламентного отчета с идентификатором «Rep_1». В инспекторе сборок должны быть указаны ссылки на системные сборки Report, Forms, Matrix, ForeSystem.
Пример является обработчиком события Click для кнопки.
Imports Prognoz.Platform.Forms.NET;
Imports Prognoz.Platform.Interop.Metabase;
Imports Prognoz.Platform.Interop.Report;
Imports Prognoz.Platform.Interop.Tab;
Imports Prognoz.Platform.Interop.Forms;
Imports Prognoz.Platform.Interop.Matrix;
Imports Prognoz.Platform.Interop.ForeSystem;
Imports System.Diagnostics;
...
Private Sub OBJ46886Form_Shown(sender: System.Object; e: System.EventArgs);
Var
mb:IMetabase;
report:IPrxReport;
Begin
mb:= Self.Metabase;
report:= mb.ItemById["Rep_1"].Open(Null) As Iprxreport;
UiReportNet1.ReportUi.Instance:= report;
End Sub;
Private Sub button1_Click(sender: System.Object; e: System.EventArgs);
Var
m_di: IMatrix;
Iter: IMatrixIterator;
report: IPrxReport;
Begin
report:= UiReportNet1.ReportUi.Instance As Iprxreport;
m_di:= report.DataIslands.Item[0].GetRecentChanges();
Iter := m_di.CreateIterator();
Iter.Move(IteratorDirection.itdFirst);
While Iter.Valid Do
System.Diagnostics.Debug.Write(Iter.Value + " ");
Iter.Move(IteratorDirection.itdNext);
End While;
End Sub;
После выполнения примера при изменении данных и нажатии кнопки, измененные значения будут выведены в консоль.
См. также: