IsDataChanged: Boolean;
IsDataChanged: Boolean;
Свойство IsDataChanged возвращает признак наличия измененных данных в экспресс-отчете.
Для выполнения примера предполагается наличие формы, расположенной на ней кнопки с наименованием «Button1», компонента UiErAnalyzer с наименованием «UiErAnalyzer1» и компонента TabSheetBox с наименованием «TabSheetBox1». Добавьте ссылки на системные сборки Express, Pivot и Ui.
Class SAMPLEForm: Form
UiErAnalyzer1: UiErAnalyzer;
TabSheetBox1: TabSheetBox;
Button1: Button;
olap: IEaxAnalyzer;
pivot: IPivot;
Sub SAMPLEFormOnCreate(Sender: Object; Args: IEventArgs);
Begin
olap := UiErAnalyzer1.ErAnalyzer;
olap.EnableEdit := True;
pivot := olap.Pivot;
End Sub SAMPLEFormOnCreate;
Sub UiErAnalyzer1OnBeforeDataRefresh(Sender: IUiErAnalyzer; Args: IUiErAnalyzerDataRefreshEventArgs);
Begin
If Args.IsDataChanged Then
If WinApplication.ConfirmationBox("Данные были изменены и при обновлении будут потеряны, сохранить данные?") Then
Args.SaveChangedData := True;
End If;
Else
WinApplication.InformationBox("Данные не были изменены");
End If;
End Sub UiErAnalyzer1OnBeforeDataRefresh;
Sub Button1OnClick(Sender: Object; Args: IMouseEventArgs);
Begin
pivot.Refresh;
End Sub Button1OnClick;
End Class SAMPLEForm;
В процессе выполнения примера внесите изменения в какую-либо ячейку области данных и нажмите кнопку «Button1». Будет выдано сообщение «Данные были изменены и при обновлении будут потеряны, сохранить данные?». При утвердительном ответе изменения будут сохранены.
Необходимые требования и результат выполнения примера Fore.NET совпадают с примером Fore. Вместо компонентов Fore используйте их Fore.NET аналоги.
Imports Prognoz.Platform.Interop.Express;
Imports Prognoz.Platform.Interop.Pivot;
Imports Prognoz.Platform.Interop.Ui;
Public Partial Class SAMPLEForm: Prognoz.Platform.Forms.Net.ForeNetForm
Public Constructor SAMPLEForm();
Begin
InitializeComponent();
End Constructor;
olap: IUiErAnalyzer;
pivot: IPivot;
Private Sub SAMPLEForm_Load(sender: System.Object; e: System.EventArgs);
Begin
olap := UiErAnalyzerNet1.ErAnalyzer;
olap.ErAnalyzer.EnableEdit := True;
pivot := olap.ErAnalyzer.Pivot;
End Sub;
Private Sub uiErAnalyzerNet1_OnBeforeDataRefresh(Sender: Prognoz.Platform.Interop.Express.UiErAnalyzer; Args: Prognoz.Platform.Interop.Express.UiErAnalyzerDataRefreshEventArgs);
Var
WinApp: WinApplicationClassClass = New WinApplicationClassClass();
Begin
If Args.IsDataChanged Then
If WinApp.ConfirmationBox("Данные были изменены, при обновлении будут потеряны, сохранить?", Null) Then
Args.SaveChangedData := True;
End If;
Else
WinApp.InformationBox("Данные не были изменены", Null);
End If;
End Sub;
Private Sub button1_Click(sender: System.Object; e: System.EventArgs);
Begin
pivot.Refresh();
End Sub;
End Class;
См. также: