Команда ShowMetabaseFolder

Назначение

Перевод фокуса в навигатор объектов и отображение содержимого указанного объекта-контейнера.

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

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

Тип значения Описание
IMetabaseObjectDescriptor Описание объекта-контейнера, содержимое которого необходимо отобразить в навигаторе объектов.

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

Команда может применяться только для объектов-контейнеров. Если в свойстве Data передается описание объекта не являющегося контейнером, то происходит переход в навигатор объектов без смены отображаемого объекта. К объектам-контейнерам относятся следующие объекты: Папка, Репозиторий НСИ, База данных временных рядов, Контейнер моделирования, Сборка, .NET-сборка, объекты пользовательских классов.

Пример Fore

Для выполнения примера предполагается наличие формы, расположенной на ней кнопки с наименованием "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.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;

См. также:

IUiCommandTarget.Execute