RecalcEaxGrid(EaxGrid: IEaxGrid): TriState;
RecalcEaxGrid[EaxGrid: Prognoz.Platform.Interop.Express.IEaxGrid]: Prognoz.Platform.Interop.ForeSystem.TriState;
EaxGrid. Analytical data area.
The RecalcEaxGrid property determines whether to calculate analytical data area.
To determine whether to calculate data area, use the IPrxReportRecalcContext.RecalcDataIsland property.
Executing the example requires a regular report with the REGULAR_REPORT identifier. Analytical data area is located on the report sheet.
Add links to the Express, Metabase, Report system assemblies.
Sub UserProc;
Var
MB: IMetabase;
MObj: IMetabaseObject;
Report: IPrxReport;
Context: IPrxReportRecalcContext;
DataArea: IEaxDataArea;
EaxGrid: IEaxGrid;
Begin
MB := MetabaseClass.Active;
MObj := MB.ItemById("REGULAR_REPORT").Edit;
Report := MObj As IPrxReport;
Context := Report.CreateRecalcContext;
Context.Clear;
DataArea := Report.DataArea;
EaxGrid := (DataArea.Views.Item(0) As IEaxAnalyzer).Grid;
Context.RecalcEaxGrid(EaxGrid) := TriState.OnOption;
Report.RecalcC(Context);
MObj.Save;
End Sub UserProc;
After executing the example the specified analytical data area of report is calculated.
The requirements and result of the Fore.NET example execution match with those in the Fore example.
Imports Prognoz.Platform.Interop.Metabase;
Imports Prognoz.Platform.Interop.Report;
Imports Prognoz.Platform.Interop.Express;
Imports Prognoz.Platform.Interop.ForeSystem;
…
Public Shared Sub Main(Params: StartParams);
Var
MB: IMetabase;
MObj: IMetabaseObject;
Report: IPrxReport;
Context: IPrxReportRecalcContext;
DataArea: IEaxDataArea;
EaxGrid: EaxGrid;
Begin
MB := Params.Metabase;
MObj := MB.ItemById["REGULAR_REPORT"].Edit();
Report := MObj As IPrxReport;
Context := Report.CreateRecalcContext();
Context.Clear();
DataArea := Report.DataArea;
EaxGrid := (DataArea.Views.Item[0] As IEaxAnalyzer).Grid;
Context.RecalcEaxGrid[EaxGrid] := TriState.tsOnOption;
Report.RecalcC(Context);
MObj.Save();
End Sub;
See also: