IStyledEntity.SaveStyleToContainer

Синтаксис Fore

SaveStyleToContainer(Value: IStyleContainer);

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

SaveStyleToContainer(Value: Prognoz.Platform.Interop.Drawing.IStyleContainer);

Параметры

Value. Контейнер, в который экспортируется стиль.

Описание

Метод SaveStyleToContainer экспортирует стиль в указанный контейнер.

Комментарии

Для импорта стиля из указанного контейнера используйте метод IStyledEntity.LoadStyleFromContainer.

Пример Fore

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

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

Sub UserProc;
Var
    mb: IMetabase;
    styleSheet: IStyleSheet;
    container : IStyleContainer;
    report: IEaxAnalyzer;
    entity: IStyledEntity;
Begin
    // Получаем текущий репозиторий
    mb := MetabaseClass.Active;
    // Получаем таблицу стилей
    styleSheet := mb.ItemById("STYLE_TB").Edit As IStyleSheet;
    // Получаем экспресс-отчет
    report := mb.ItemById("EAX_STYLE_MAP").Edit As IEaxAnalyzer;
    // Получаем стиль карты
    entity := report.MapChart.MapChart As IStyledEntity;
    // Выводим текстовую метку стиля в окно консоли
    Debug.WriteLine(entity.ContainerTag);
    // Задаем тип используемой таблицы стилей
    entity.SheetType := StyleSheetType.InternalObject;
    // Добавляем контейнер стилей в таблицу стилей
    container := styleSheet.Add;
    // Указываем ключ контейнера
    entity.ContainerKey := container.Key;
    // Задаем имя контейнера стилей
    container.Name := "Стиль для карты из экспресс-отчета";
    // Выгружаем стиль карты в контейнер
    entity.SaveStyleToContainer(container);
    // Сохраняем представление стиля
    container.Preview.SaveToFile("C:\MapStylePreview.png");
    // Сохраняем таблицу стилей
    (styleSheet As IMetabaseObject).Save;
End Sub UserProc;

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

Пример 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;
    container: IStyleContainer;
    report: IEaxAnalyzer;
    entity: IStyledEntity;
Begin
    // Получаем текущий репозиторий
    mb := Params.Metabase;
    // Получаем таблицу стилей
    styleSheet := mb.ItemById["STYLE_TB"].Edit() As IStyleSheet;
    // Получаем экспресс-отчет
    report := mb.ItemById["EAX_STYLE_MAP"].Edit() As IEaxAnalyzer;
    // Получаем стиль карты
    entity := report.MapChart.MapChart As IStyledEntity;
    // Выводим текстовую метку стиля в окно консоли
    System.Diagnostics.Debug.WriteLine(entity.ContainerTag);
    // Задаем тип используемой таблицы стилей
    entity.SheetType := StyleSheetType.sstInternalObject;
    // Добавляем контейнер стилей в таблицу стилей
    container := styleSheet.Add(0"");
    // Указываем ключ контейнера
    entity.ContainerKey := container.Key;
    // Задаем имя контейнера стилей
    container.Name := "Стиль для карты из экспресс-отчета";
    // Выгружаем стиль карты в контейнер
    entity.SaveStyleToContainer(container);
    // Сохраняем представление стиля
    container.Preview.SaveToFile("C:\MapStylePreview.png");
    // Сохраняем таблицу стилей
    (styleSheet As IMetabaseObject).Save();
End Sub;

См. также:

IStyledEntity