IStyleSheet.FindByTag

Синтаксис Fore

FindByTag(Tag: String): IStyleContainerCollection;

Синтаксис Fore.NET

FindByTag(Tag: string): Prognoz.Platform.Interop.Drawing.IStyleContainerCollection;

Параметры

Tag. Текстовая метка.

Описание

Метод FindByTag осуществляет поиск контейнера стиля по текстовой метке.

Комментарии

Поиск является регистронезависимым.

Текстовая метка позволяет определить стиль какого визуализатора содержится в контейнере:

Пример Fore

Для выполнения примера в репозитории предполагается наличие таблицы стилей с идентификатором «STYLE_TB» и экспресс-отчета с идентификатором «EAX_STYLE_MAP». Данный отчет должен содержать диаграмму.

Добавьте ссылки на системные сборки: Drawing, Express, Metabase.

Sub UserProc;
Var
    mb: IMetabase;
    styleSheet: IStyleSheet;
    contCollection: IStyleContainerCollection;
    container: IStyleContainer;
    report: IEaxAnalyzer;
    entity: IStyledEntity;
Begin
    // Получаем текущий репозиторий
    mb := MetabaseClass.Active;
    // Получаем таблицу стилей
    styleSheet := mb.ItemById("STYLE_TB").Bind As IStyleSheet;
    // Выполняем поиск контейнеров, содержащих стили для диаграмм
    contCollection := styleSheet.FindByTag("CHART");
    // Если контейнер найден, то получаем первый контейнер из всех найденных
    If contCollection.Count > 0 Then
        container := contCollection.Item(0);
        // Получаем экспресс-отчет
        report := mb.ItemById("EAX_STYLE_MAP").Edit As IEaxAnalyzer;
        // Получаем стиль диаграммы
        entity := report.Chart.Chart As IStyledEntity;
        // Выполняем загрузку стиля для диаграммы из контейнера стиля
        entity.LoadStyleFromContainer(container);
        // Сохраняем отчет
        (report As IMetabaseObject).Save;
    End If;
End Sub UserProc;

В результате выполнения примера в таблице стилей «STYLE_TB» будет выполнен поиск стилей, предназначенных для диаграммы. Если стили будут найдены, то первый найденный стиль будет применён для оформления диаграммы в отчете «EAX_STYLE_MAP».

Пример Fore.NET

Необходимые требования и результат выполнения примера Fore.NET совпадают с примером Fore.

Imports Prognoz.Platform.Interop.Drawing;
Imports Prognoz.Platform.Interop.Express;

Public Shared Sub Main(Params: StartParams);
Var
    mb: IMetabase;
    styleSheet: IStyleSheet;
    contCollection: IStyleContainerCollection;
    container: IStyleContainer;
    report: IEaxAnalyzer;
    entity: IStyledEntity;
Begin
    // Получаем текущий репозиторий
    mb := Params.Metabase;
    // Получаем таблицу стилей
    styleSheet := mb.ItemById["STYLE_TB"].Bind() As IStyleSheet;
    // Выполняем поиск контейнеров, содержащих стили для диаграмм
    contCollection := styleSheet.FindByTag("CHART");
    // Если контейнер найден, то получаем первый контейнер из всех найденных
    If contCollection.Count > 0 Then
        container := contCollection.Item[0];
        // Получаем экспресс-отчет
        report := mb.ItemById["EAX_STYLE_MAP"].Edit() As IEaxAnalyzer;
        // Получаем стиль диаграммы
        entity := report.Chart.Chart As IStyledEntity;
        // Выполняем загрузку стиля для диаграммы из контейнера стиля
        entity.LoadStyleFromContainer(container);
        // Сохраняем отчет
        (report As IMetabaseObject).Save();
    End If;
End Sub;

См. также:

IStyleSheet