Root: IMetabaseObjectDescriptor;
Root: Prognoz.Platform.Interop.Metabase.IMetabaseObjectDescriptor;
Свойство Root определяет описание корневого каталог, содержимое которого будет отображаться в компоненте.
В качестве значения свойства необходимо указать описание какой-либо папки или объекта-контейнера (Репозиторий НСИ, База данных временных рядов, Контейнер моделирования, Сборка, .NET-сборка). Навигация будет доступна по всем дочерним объектам.
Для выполнения примера предполагается наличие формы, расположенной на ней кнопки с наименованием «Button1», компонента MetabaseListView с наименованием «MetabaseListView1». Подключите системную сборку Metabase.
Sub Button1OnClick(Sender: Object; Args: IMouseEventArgs);
Var
CombineFilter: IMetabaseDialogCombiFilter;
Filter: IMetabaseDialogMetaclassFilter;
Begin
MetabaseListView1.Root := MetabaseClass.Active.Root;
//Возможность вызова для объектов системного
контекстного меню
MetabaseListView1.EnableSystemPopupMenu := True;
//Отображать кнопку "Найти все"
MetabaseListView1.EnableFindAll := True;
CombineFilter := New MetabaseDialogCombiFilter.Create;
//Фильтр для отображения папок
Filter := New MetabaseDialogMetaclassFilter.Create;
Filter.ObjectMetaclass := MetabaseObjectMetaclass.FOLDER_CLASS;
CombineFilter.Filters.AddFilter(Filter);
//Фильтр для отображения различных видов справочников НСИ
Filter := New MetabaseDialogMetaclassFilter.Create;
Filter.ObjectMetaclass := MetabaseObjectMetaclass.RDS_CLASS;
CombineFilter.Filters.AddFilter(Filter);
//Установить фильтр для компонента
MetabaseListView1.Filters.AddFilter(CombineFilter);
End Sub Button1OnClick;
При нажатии на кнопку будет произведена настройка компонента «MetabaseListView1». Для компонента будет задан корневой каталог, включена возможность вызова системного контекстного меню для объектов репозитория. В диалоге поиска будет доступна кнопка «Найти все». Также будет установлен фильтр объектов: в компоненте будут отображаться папки и различные виды справочников НСИ.
Необходимые требования и результат выполнения примера Fore.NET совпадают с примером Fore. Вместо компонентов Fore используйте их Fore.NET аналоги.
Imports Prognoz.Platform.Interop.Metabase;
Private Sub button1_Click(sender: System.Object; e: System.EventArgs);
Var
CombineFilter: IMetabaseDialogCombiFilter = New MetabaseDialogCombiFilterClass();
Filter: IMetabaseDialogMetaclassFilter;
Begin
MetabaseListViewNet1.Root := Self.Metabase.Root;
//Возможность вызова для объектов системного
контекстного меню
MetabaseListViewNet1.EnableSystemPopupMenu := True;
//Отображать кнопку "Найти все"
MetabaseListViewNet1.EnableFindAll := True;
//Фильтр для отображения папок
Filter := New MetabaseDialogMetaclassFilterClass();
Filter.ObjectMetaclass := MetabaseObjectMetaclass.FOLDER_CLASS;
CombineFilter.Filters.AddFilter(Filter);
//Фильтр для отображения различных видов справочников НСИ
Filter := New MetabaseDialogMetaclassFilterClass();
Filter.ObjectMetaclass := MetabaseObjectMetaclass.RDS_CLASS;
CombineFilter.Filters.AddFilter(Filter);
//Установить фильтр для компонента
MetabaseListViewNet1.Filters.AddFilter(CombineFilter);
End Sub;
См. также: