IPrxMapDataAdapter.Attribute

Fore Syntax

Attribute: String;

Fore.NET Syntax

Attribute: String;

Description

The Attribute property determines attribute of the map layer.

Fore Example

Executing the example requires a regular report with the REGULAR_REPORT identifier, the report active sheet contains a map with the Regions layer. A cube is added to the list of report data sources, the cube contains the Territories dimension. Add links to the Metabase, Report, Tab, Map, Dimensions system assemblies.

Sub UserProc;
Var
    Mb: IMetabase;
    MObj: IMetabaseObject;
    Report: IPrxReport;
    Tab: ITabSheet;
    Map: IMap;
    BarVisual: IMapBarVisual;
    PrxDA: IPrxMapDataAdapter;
    Slice: IPrxSlice;
    MapDAdapt: IPrxMapDataAdapter;
    i, j: Integer;
Begin
    Mb := MetabaseClass.Active;
    MObj := Mb.ItemById("REGULAR_REPORT").Edit;
    Report := MObj As IPrxReport;
    Tab := (Report.ActiveSheet As IPrxTable).TabSheet;
    Map := Tab.Objects.Item(1).Extension As IMap;
    BarVisual := Map.Layers.FindByName("Regions").Visuals.AddBarVisual;
    Slice := Report.DataSources.Item(0).Slices.Item(0);
    PrxDA := Slice.CreateMapDataAdapter(PrxMapAdapter.Dynamic);
    PrxDA.Dimension := Slice.Dimensions.FindByName("Territories").Dimension.Dimension;
    PrxDa.Index := PrxDA.Dimension.Indexes.PrimaryIndex;
    PrxDA.Attribute := "ID";
    BarVisual.DataAdapter := PrxDA As IMapDynamicDataAdapter;
    PrxDA.Expression.AsString := "AT[Id]+" + Char.Chr(34) + ")" + Char.Chr(34) + "+AT[Name]";
    PrxDa.Expression2.AsString := "VALUE";
    Map.Layers.FindByName("Regions").TerritoryInfoAdapter := PrxDa;
    MObj.Save;
End Sub UserProc;

After executing the example a bar indicator is created for the Regions map layer and a custom label format is set for names and identifiers in the map layer territory info.

Fore.NET Example

The requirements and result of the Fore.NET example execution match with those in the Fore example.

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

Public Shared Sub Main(Params: StartParams);
Var
    Mb: IMetabase;
    MObj: IMetabaseObject;
    Report: IPrxReport;
    Tab: ITabSheet;
    Map: IMap;
    BarVisual: IMapBarVisual;
    PrxDA: IPrxMapDataAdapter;
    Slice: IPrxSlice;
    MapDAdapt: IPrxMapDataAdapter;
    i, j: Integer;
Begin
    Mb := Params.Metabase;
    MObj := Mb.ItemById["REGULAR_REPORT"].Edit();
    Report := MObj As IPrxReport;
    Tab := (Report.ActiveSheet As IPrxTable).TabSheet;
    Map := Tab.Objects.Item[1].Extension As IMap;
    BarVisual := Map.Layers.FindByName["Regions"].Visuals.AddBarVisual();
    Slice := Report.DataSources.Item[0].Slices.Item[0];
    PrxDA := Slice.CreateMapDataAdapter(PrxMapAdapter.pmaDynamic);
    PrxDA.Dimension := Slice.Dimensions.FindByName("Territories").Dimension.Dimension;
    PrxDa.Index := PrxDA.Dimension.Indexes.PrimaryIndex;
    PrxDA.Attribute := "ID";
    BarVisual.DataAdapter := PrxDA As IMapDynamicDataAdapter;
    PrxDA.Expression.AsString := "AT[Id]+\u0022)\u0022+AT[Name]";
    PrxDa.Expression2.AsString := "VALUE";
    Map.Layers.FindByName["Regions"].TerritoryInfoAdapter := PrxDa;
    MObj.Save();
End Sub;

See also:

IPrxMapDataAdapter