Appearance: IPrxControlAppearance;
Appearance: Prognoz.Platform.Interop.Report.IPrxControlAppearance;
Свойство Appearance определяет какими листами отчета будет управлять элемент управления.
В рассматриваемом примере предполагается существование объекта Rep типа IPrxReport.
Sub UserProc;
Var
Rep: IPrxReport;
Ctrls: IPrxReportControls;
Ctrl: IPrxControl;
Sheet: IPrxSheet;
Begin
Ctrls := Rep.Controls.Edit;
//раскрывающийся список
Ctrl := Ctrls.Add(Null);
Ctrl.AutoRecalc := True;
Ctrl.Binding := "UI=""DimCombo""";
Ctrl.Dimension := Rep.DataSources.Item(0).Slices.FindByName("Срез1").Dimensions.FindById("D_TO");
Ctrl.Appearance.Report := False;
Ctrl.Appearance.Sheet(Rep.Sheets.Item(0)) := True;
Ctrl.Appearance.Sheet(Rep.Sheets.Item(1)) := True;
//редактор целых чисел
Ctrl := Ctrls.Add(Null);
Ctrl.AutoRecalc := True;
Ctrl.Binding := "UI=""IntegerEdit"" VALUE=""50""";
Ctrl.Appearance.Report := False;
Ctrl.Appearance.Sheet(Rep.Sheets.Item(0)) := True;
Ctrl.Appearance.Sheet(Rep.Sheets.Item(1)) := True;
Ctrls.Save;
//порядок элементов управления для Листа1
Sheet := Rep.Sheets.Item(0);
Rep.Controls.SheetControls(Sheet).Move(1, 0); //второй элемент на первое место
End Sub UserProc;
После выполнения примера будут созданы два элемента управления для первых двух листов отчета. Для первого листа отчета изменен порядок элементов.
В рассматриваемом примере предполагается существование объекта Rep типа IPrxReport.
Imports Prognoz.Platform.Interop.Report;
Imports Prognoz.Platform.Interop.Stat;
Imports Prognoz.Platform.Interop.Tab;
Imports Prognoz.Platform.Interop.ForeSystem;
Public Sub UserProc(Params: StartParams);
Var
Rep: IPrxReport;
Ctrls: IPrxReportControls;
Ctrl: IPrxControl;
Sheet: IPrxSheet;
Begin
Ctrls := Rep.Controls.Edit();
//раскрывающийся список
Ctrl := Ctrls.Add(Null);
Ctrl.AutoRecalc := True;
Ctrl.Binding := "UI=""DimCombo""";
Ctrl.Dimension := Rep.DataSources.Item[0].Slices.FindByName("Срез1").Dimensions.FindById("D_TO");
Ctrl.Appearance.Report := False;
Ctrl.Appearance.Sheet[Rep.Sheets.Item[0]] := True;
Ctrl.Appearance.Sheet[Rep.Sheets.Item[1]] := True;
//редактор целых чисел
Ctrl := Ctrls.Add(Null);
Ctrl.AutoRecalc := True;
Ctrl.Binding := "UI=""IntegerEdit"" VALUE=""50""";
Ctrl.Appearance.Report := False;
Ctrl.Appearance.Sheet[Rep.Sheets.Item[0]] := True;
Ctrl.Appearance.Sheet[Rep.Sheets.Item[1]] := True;
Ctrls.Save();
//порядок элементов управления для Листа1
Sheet := Rep.Sheets.Item[0];
Rep.Controls.SheetControls[Sheet].Move(1, 0); //второй элемент на первое место
End Sub;
После выполнения примера будут созданы два элемента управления для первых двух листов отчета. Для первого листа отчета изменен порядок элементов.
См. также: