OnIsFolderElem(Sender: Object; Args: IMetabaseTreeNodeSpecialEventArgs);
Sender. Параметр, возвращающий компонент, сгенерировавший событие;
Args. Параметр, позволяющий определить параметры события.
Событие OnIsFolderElem предназначено для установки признака папки у элементов, отображаемых в дереве компонента.
Событие наступает во время построения дерева для каждого элемента, отображаемого в дереве.
В свойстве Node аргумента события можно получить текущий элемент, для которого сгенерировано событие. Если в свойстве Special аргумента события установить значение True, то для текущего элемента Node будет установлен признак папки и будет отстроено дерево дочерних элементов. При этом для каждого дочернего элемента также будет сгенерировано событие OnIsFolderElem.
Событие актуально использовать для настройки возможности просмотра содержимого различных объектов-контейнеров.
Примечание. Необходимо учитывать значение свойства ShowInternalObjects, так как некоторые дочерние объекты, содержащиеся в объектах контейнерах, являются внутренними объектами и по умолчанию не отображаются.
Для выполнения примера предполагается наличие формы и расположенного на ней компонента MetabaseTreeList. Компонент настроен на отображение данных какой-либо папки репозитория. Для компонента в качестве обработчика события OnIsFolderElem установлена данная процедура.
Sub MetabaseTreeList1OnIsFolderElem(Sender: Object; Args: IMetabaseTreeNodeSpecialEventArgs);
Begin
If Args.Node.ObjectDescriptor.ClassId = MetabaseObjectClass.KE_CLASS_MODELSPACE Then
Args.Special := True;
End If;
End Sub MetabaseTreeList1OnIsFolderElem;
После запуска формы в дереве элементов компонента контейнеры моделирования будут представлены в виде папок с возможностью просмотра дочерних объектов.
См. также: