Перевод фокуса в навигатор объектов и отображение содержимого указанного объекта-контейнера.
Параметры команды передаются в свойстве Data. Для работы команды в данном свойстве необходимо указать следующее значение:
Тип значения | Описание |
IMetabaseObjectDescriptor | Описание объекта-контейнера, содержимое которого необходимо отобразить в навигаторе объектов. |
Команда может применяться только для объектов-контейнеров. Если в свойстве Data передается описание объекта не являющегося контейнером, то происходит переход в навигатор объектов без смены отображаемого объекта. К объектам-контейнерам относятся следующие объекты: Папка, Репозиторий НСИ, База данных временных рядов, Контейнер моделирования, Сборка, .NET-сборка, объекты пользовательских классов.
Для выполнения примера предполагается наличие формы, расположенной на ней кнопки с наименованием "Button1" и папки в репозитории с идентификатором «F_WORK».
Sub Button1OnClick(Sender: Object; Args: IMouseEventArgs);
Var
MB: IMetabase;
MDesc: IMetabaseObjectDescriptor;
Target: IUiCommandTarget;
Context: IUiCommandExecutionContext;
Begin
MB := MetabaseClass.Active;
MDesc := MB.ItemById("F_WORK");
Target := WinApplication.Instance.GetPluginTarget("Std");
Context := Target.CreateExecutionContext;
Context.Data := MDesc;
Target.Execute("ShowMetabaseFolder", Context);
End Sub Button1OnClick;
При нажатии на кнопку будет осуществлен переход в навигатор объектов, в навигаторе будет отображено содержимое указанной папки.
Необходимые требования и результат выполнения примера Fore.NET совпадают с примером Fore. Вместо компонентов Fore используйте их Fore.NET аналоги.
Imports Prognoz.Platform.Interop.Metabase;
Imports Prognoz.Platform.Interop.Ui;
Private Sub button1_Click(sender: System.Object; e: System.EventArgs);
Var
MB: IMetabase;
MDesc: IMetabaseObjectDescriptor;
WinApp: WinApplication = New WinApplicationClass_2();
Target: IUiCommandTarget;
Context: IUiCommandExecutionContext;
Begin
MB := Self.Metabase;
MDesc := MB.ItemById["F_WORK"];
Target := WinApp.GetPluginTarget("Std");
Context := Target.CreateExecutionContext();
Context.Data := MDesc;
Target.Execute("ShowMetabaseFolder", Context, Null);
End Sub;
См. также: