Вызов диалога для выбора состава карты.
Параметры команды передаются в свойстве Data. Для работы команды в данном свойстве необходимо указать следующие значение:
Тип значения | Описание |
IPrxMap | Карта, для которой вызывается диалог. |
Команда может применяться только для карт в регламентных отчетах. Результатом выполнения команды будет логическое значение True, если в диалоге была нажата кнопка «ОК» и False, если была нажата кнопка «Отмена».
Для выполнения примера предполагается наличие формы, содержащей компонент ReportBox с идентификатором «ReportBox1» и компонента UiReport с идентификатором «UiReport1», являющегося источником данных для «ReportBox1». В компонент «UiReport1» должна быть загружен регламентный отчет с картой.
Добавьте ссылку на системную сборку UI.
Sub UserProc;
Var
Report: IPrxReport;
Tab: ITabSheet;
Map: IPrxMap;
Target: IUiCommandTarget;
Context: IUiCommandExecutionContext;
Begin
Report := UiReport1.Report;
Tab := (Report.ActiveSheet As IPrxTable).TabSheet;
Map := Tab.Objects.Item(0).Extension As IPrxMap;
Target := WinApplication.Instance.GetPluginTarget("Report");
Context := Target.CreateExecutionContext;
Context.Data := Map;
Target.Execute("ShowMapLayerSelectionDialog", Context);
End Sub UserProc;
В результате выполнения примера будет отображен диалог для выбора состава карты.
Необходимые требования и результат выполнения примера Fore.NET совпадают с примером Fore. Вместо компонентов Fore используйте их Fore.NET аналоги.
Imports Prognoz.Platform.Interop.Report;
Imports Prognoz.Platform.Interop.Tab;
Imports Prognoz.Platform.Interop.Ui;
…
Public Sub UserProc();
Var
Report: IPrxReport;
Tab: ITabSheet;
Map: IPrxMap;
WinApp: WinApplication = New WinApplicationClass_2();
Target: IUiCommandTarget;
Context: IUiCommandExecutionContext;
Begin
Report := uiReportNet1.ReportUi.Report;
Tab := (Report.ActiveSheet As IPrxTable).TabSheet;
Map := Tab.Objects.Item[0].Extension As IPrxMap;
Target := WinApp.GetPluginTarget("Report");
Context := Target.CreateExecutionContext();
Context.Data := Map;
Target.Execute("ShowMapLayerSelectionDialog", Context, Null);
End Sub UserProc;
См. также: