GetItemById(Value: String): IVZTreeItem;
GetItemById(Value: System.String): Prognoz.Platform.Interop.Visualizators.IVZTreeItem;
Value. Идентификатор дочернего элемента.
Метод GetItemById возвращает дочерний элемент дерева визуализатора по идентификатору.
Для выполнения примера предполагается наличие в репозитории экспресс-отчёта с идентификатором EXPRESS. В отчёте содержится пузырьковое дерево, для которого заданы объекты наблюдения по отметке измерения. Среди элементов измерения содержится элемент с идентификатором «ELEM».
Добавьте ссылки на системные сборки: Metabase, Express, Visualizators.
Sub UserProc;
Var
Metabase: IMetabase;
EaxAnalyzer: IEaxAnalyzer;
BubbleTree: IVZBubbleTree;
RootItem, ItemID, ItemNext, ItemPrev: IVZTreeItem;
Items, Items2: IVZTreeItems;
Item: IVZTreeItem;
Model: IVZTreeModel;
Begin
// Получим объект репозитория
Metabase := MetabaseClass.Active;
// Откроем экспресс-отчёт
EaxAnalyzer := Metabase.ItemById("EXPRESS").Edit As IEaxAnalyzer;
// Получим пузырьковое дерево
BubbleTree := EaxAnalyzer.BubbleTree.BubbleTree;
// Получим модель дерева
Model := BubbleTree.Model;
// Получим корневой элемент пузырькового дерева
RootItem := Model.RootItem;
Debug.WriteLine("Идентификатор корневого элемента: " + RootItem.ID);
// Получим дочерние элементы дерева
Items := RootItem.Items;
// Получим элемент с идентификатором «ELEM»
ItemID := RootItem.GetItemById("ELEM");
// Выведем в консоль идентификаторы соседних элементов
ItemNext := ItemID.GetNext(True);
ItemPrev := ItemID.GetPrev(True);
Debug.WriteLine("Соседние элементы: " + ItemNext.Id + ", " + ItemPrev.Id);
End Sub UserProc;
Imports Prognoz.Platform.Interop.Metabase;
Imports Prognoz.Platform.Interop.Express;
Imports Prognoz.Platform.Interop.Visualizators;
…
Public Shared Sub Main(Params: StartParams);
Var
Metabase: IMetabase;
EaxAnalyzer: IEaxAnalyzer;
BubbleTree: IVZBubbleTree;
RootItem, ItemID, ItemNext, ItemPrev: IVZTreeItem;
Items, Items2: IVZTreeItems;
Item: IVZTreeItem;
Model: IVZTreeModel;
Begin
// Получим объект репозитория
Metabase := Params.Metabase;
// Откроем экспресс-отчёт
EaxAnalyzer := Metabase.ItemById["EXPRESS"].Edit() As IEaxAnalyzer;
// Получим пузырьковое дерево
BubbleTree := EaxAnalyzer.BubbleTree.BubbleTree;
// Получим модель дерева
Model := BubbleTree.Model;
// Получим корневой элемент пузырькового дерева
RootItem := Model.RootItem;
System.Diagnostics.Debug.WriteLine("Идентификатор корневого элемента: " + RootItem.ID);
// Получим дочерние элементы дерева
Items := RootItem.Items;
// Получим элемент с идентификатором «ELEM»
ItemID := RootItem.GetItemById("ELEM");
// Выведем в консоль идентификаторы соседних элементов
ItemNext := ItemID.GetNext(True);
ItemPrev := ItemID.GetPrev(True);
System.Diagnostics.Debug.WriteLine("Соседние элементы: " + ItemNext.Id + ", " + ItemPrev.Id);
End Sub;
После выполнения примера в консоль будут выведены идентификаторы соседних элементов дочернего элемента с идентификатором «ELEM».
См. также: