Команда ShowPrxControlPropDialog

Назначение

Вызов диалога настройки свойств элемента управления.

Параметры использования

Параметры команды передаются в свойстве Data. Для работы команды в данном свойстве необходимо указать массив типа Variant, элементы которого содержат следующие значения:

Тип значения Описание
Элемент 1: IPrxReport Регламентный отчет, для которого необходимо отобразить диалог настройки свойств элемента управления.
Элемент 2: IPrxControl Элемент управления, свойства которого необходимо отобразить.

Особенности применения

Команда может применяться только для регламентных отчетов. Результатом выполнения команды будет логическое значение True, если в диалоге была нажата кнопка «ОК» и False, если была нажата кнопка «Отмена».

Пример Fore

Для выполнения примера предполагается наличие формы, расположенной на ней кнопки с наименованием «Button1», компонента ReportBox и компонента UiReport с наименованием «UiReport1», являющегося источником данных для ReportBox. В регламентном отчете, который подключен к компоненту «UiReport1», имеется минимум один элемент управления.

Sub Button1OnClick(Sender: Object; Args: IMouseEventArgs);
Var
    Report: IPrxReport;
    Control: IPrxControl;
    Target: IUiCommandTarget;
    Context: IUiCommandExecutionContext;
    Data: Array;
Begin
    Report := UiReport1.Instance As IPrxReport;
    Control := Report.Controls.Item(0);
    Target := WinApplication.Instance.GetPluginTarget("Report");
    Context := Target.CreateExecutionContext;
    Data := New Variant[2];
    Data[0] := Report;
    Data[1] := Control;
    Context.Data := Data;
    Target.Execute("ShowPrxControlPropDialog", Context);
End Sub Button1OnClick;

При нажатии на кнопку будет вызван диалог настройки свойств первого элемента управления.

Пример Fore.NET

Необходимые требования и результат выполнения примера Fore.NET совпадают с примером Fore. Вместо компонентов Fore используйте их Fore.NET аналоги.

Imports Prognoz.Platform.Interop.Report;
Imports Prognoz.Platform.Interop.Ui;

Private Sub button1_Click(sender: System.Object; e: System.EventArgs);
Var
    Report: IPrxReport;
    Control: IPrxControl;
    WinApp: WinApplication = New WinApplicationClass_2();
    Target: IUiCommandTarget;
    Context: IUiCommandExecutionContext;
    Data: Array;
Begin
    Report := UiReportNet1.ReportUi.Report;
    Control := Report.Controls.Item[0];
    Target := WinApp.GetPluginTarget("Report");
    Context := Target.CreateExecutionContext();
    Data := New Object[2];
    Data[0] := Report;
    Data[1] := Control;
    Context.Data := Data;
    Target.Execute("ShowPrxControlPropDialog", Context, Null);
End Sub;

См. также:

IUiCommandTarget.Execute