SheetRecalc(Sheet: IPrxSheet): Boolean;
SheetRecalc[Sheet: Prognoz.Platform.Interop.Report.IPrxSheet]: boolean;
Sheet. Лист регламентного отчета.
Свойство SheetRecalc определяет признак вычисления листа, указанного в качестве параметра, при изменении значения элемента управления.
Укажите Null в качестве значения параметра Sheet для вычисления всех листов регламентного отчета.
Для выполнения примера предполагается наличие регламентного отчета с идентификатором Rep1 и наличием хотя бы четырех листов. Добавьте в отчет куб в качестве источника, срез куба и измерение в качестве элемента управления в отчете. Создайте форму, добавьте на нее кнопку с идентификатором Button1, компонент ReportControlPanel с идентификатором ReportControlPanel1, компонент UiReport с идентификатором UiReport1, укажите последний в качестве объекта компонента ReportControlPanel.
Добавьте ссылку на системную сборку Metabase.
Rep: IPrxReport;
Sub OBJ1FormOnShow(Sender: Object; Args: IEventArgs);
Begin
Rep := MetabaseClass.Active.ItemById("Rep1").Edit As IPrxReport;
UiReport1.Instance := Rep;
End Sub OBJ1FormOnShow;
Sub Button1OnClick(Sender: Object; Args: IMouseEventArgs);
Var
ControlAppearance: IPrxControlAppearance;
Begin
ControlAppearance:= Rep.Controls.Item(0).Appearance;
ControlAppearance.SpecificRecalc := True;
ControlAppearance.SheetRecalc(Null) := False;
ControlAppearance.SheetRecalc(Rep.Sheets.Item(0)) := True;
ControlAppearance.SheetRecalc(Rep.Sheets.Item(1)) := True;
ControlAppearance.SheetRecalc(Rep.Sheets.Item(2)) := True;
ControlAppearance.SheetRecalc(Rep.Sheets.Item(3)) := True;
End Sub Button1OnClick;
После нажатия на кнопку при изменении значения элемента управления будут вычислены первые четыре листа регламентного отчета, весь отчет вычисляться не будет.
Необходимые требования и результат выполнения примера Fore.NET совпадают с примером Fore.
Imports Prognoz.Platform.Interop.Report;
Public Partial Class OBJ1Form: Prognoz.Platform.Forms.NET.ForeNetForm
Report: IprxReport;
Private Sub OBJ1Form_Load(sender: System.Object; e: System.EventArgs);
Var
Mb: IMetabase;
Desc: IMetabaseObjectDescriptor;
Begin
MB := ReportBoxNet1.Metabase;
Desc:= MB.ItemById["Rep1"];
UiReportNet1.Object:= Desc;
UiReportNet1.Active := True;
End Sub;
Private Sub button1_Click(sender: System.Object; e: System.EventArgs);
Var
ControlAppearance: IPrxControlAppearance;
Begin
Report:= UiReportNEt1.Object.Edit() As IPrxReport;
ControlAppearance := Report.Controls.Item[0].Appearance;
ControlAppearance.SpecificRecalc := True;
ControlAppearance.SheetRecalc[Null] := False;
ControlAppearance.SheetRecalc[Report.Sheets.Item[0]] := True;
ControlAppearance.SheetRecalc[Report.Sheets.Item[1]] := True;
ControlAppearance.SheetRecalc[Report.Sheets.Item[2]] := True;
ControlAppearance.SheetRecalc[Report.Sheets.Item[3]] := True;
uiReportNet1.ReportUi.Report := Report;
End Sub;
См. также: