IPrxDataAdapterManager.CreateRangeMapDataAdapter

Синтаксис Fore

CreateRangeMapDataAdapter(AdapterType: PrxMapAdapter; Sheet: IPrxSheet): IPrxMapDataAdapter;

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

CreateRangeMapDataAdapter(AdapterType: Prognoz.Platform.Interop.Report.PrxMapAdapter; Sheet: Prognoz.Platform.Interop.Report.IPrxSheet) : Prognoz.Platform.Interop.Report.IPrxMapDataAdapter;

Параметры

AdapterType. Тип адаптера для отображения исходных данных на карте.

Sheet. Страница, содержащая диапазоны значений, которые необходимо отобразить на карте.

Описание

Метод CreateRangeMapDataAdapter создаёт адаптер данных для карты, позволяющий отображать данные из определённого диапазона значений.

Комментарии

Идентификаторы регионов для карты и значения для них необходимо указывать в отдельных диапазонах.

Пример Fore

Для выполнения примера предполагается наличие регламентного отчета с идентификатором «REGULAR_REPORT», на первом листе которого расположена карта со слоем «Regions», а на втором листе таблица с данными по каким-либо регионам. В модуле подключите системные сборки: Metabase, Report, Tab, Map.

Sub UserProc;
Var
    Mb: IMetabase;
    MObj: IMetabaseObject;
    Report: IPrxReport;
    Tab: ITabSheet;
    Map: IMap;
    BarVisual: IMapBarVisual;
    PrxDA: IPrxMapDataAdapter;
    Range: IPrxRange;
    DataAdapterM: IPrxDataAdapterManager;
Begin
    Mb := MetabaseClass.Active;
    MObj := Mb.ItemById("REGULAR_REPORT").Edit;
    Report := MObj As IPrxReport;
    Tab := (Report.ActiveSheet As IPrxTable).TabSheet;
    // Добавим столбиковый показатель на карту
    Map := Tab.Objects.Item(0).Extension As IMap;
    BarVisual := Map.Layers.FindByName("Regions").Visuals.AddBarVisual;
    // Создаем адаптер данных для карты
    DataAdapterM := New PrxDataAdapterManager.Create;
    PrxDA := DataAdapterM.CreateRangeMapDataAdapter(PrxMapAdapter.Static, Report.ActiveSheet);
    // Определим лист с данными
    PrxDa.Sheet := Report.Sheets.Item(1);
    // Зададим диапазон ячеек, содержащий идентификаторы регионов
    PrxDA.IdRange := Tab.ParseRange("B35:B37");
    // Зададим диапазон ячеек отображаемых данных на карте
    PrxDa.DataRange := Tab.ParseRange("C35:C37");
    BarVisual.DataAdapter := PrxDA As IMapDataAdapter;
    MObj.Save;
End Sub UserProc;

После выполнения примера для карты будет создан новый столбиковый показатель, отображающий данные по указанным регионам.

Пример Fore.NET

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

Imports Prognoz.Platform.Interop.Metabase;
Imports Prognoz.Platform.Interop.Map;
Imports Prognoz.Platform.Interop.Report;
Imports Prognoz.Platform.Interop.Tab;

Public Shared Sub Main(Params: StartParams);
Var
    Mb: IMetabase;
    MObj: IMetabaseObject;
    Report: IPrxReport;
    Tab: ITabSheet;
    Map: IMap;
    BarVisual: IMapBarVisual;
    PrxDA: IPrxMapDataAdapter;
    Range: IPrxRange;
    DataAdapterM: PrxDataAdapterManager = New PrxDataAdapterManagerClass();
Begin
    Mb := Params.Metabase;
    MObj := Mb.ItemById["REGULAR_REPORT"].Edit();
    Report := MObj As IPrxReport;
    Tab := (Report.ActiveSheet As IPrxTable).TabSheet;
    // Добавим столбиковый показатель на карту
    Map := Tab.Objects.Item[0].Extension As IMap;
    BarVisual := Map.Layers.FindByName["Regions"].Visuals.AddBarVisual();
    // Создаем адаптер данных для карты
    PrxDA := DataAdapterM.CreateRangeMapDataAdapter(PrxMapAdapter.pmaStatic, Report.ActiveSheet);
    // Определим лист с данными
    PrxDa.Sheet := Report.Sheets.Item[1];
    // Зададим диапазон ячеек, содержащий идентификаторы регионов
    PrxDA.IdRange := Tab.ParseRange("B35:B37");
    // Зададим диапазон ячеек отображаемых данных на карте
    PrxDa.DataRange := Tab.ParseRange("C35:C37");
    BarVisual.DataAdapter := PrxDA As IMapDataAdapter;
    MObj.Save();
End Sub;

См. также:

IPrxDataAdapterManager