IEaxMap.DrillTerritory

Синтаксис Fore

DrillTerritory(TerritoryAttrValue: Variant; [DrillType: EaxDrillType = 1]);

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

DrillTerritory(TerritoryAttrValue: Variant; DrillType: Prognoz.Platform.Interop.Express.EaxDrillType);

Параметры

TerritoryAttrValue. Идентификатор территории.

DrillType. Способ детализации данных.

Описание

Метод DrillTerritory осуществляет детализацию данных для указанной территории карты.

Комментарии

Для детализации данных на карте территориальное измерение в экспресс-отчете должно быть расположено по строкам и содержать в своей структуре атрибут с идентификатором TOPO_ID. В качестве значений данного атрибута должны храниться ключи топооснов репозитория, которые будут использованы для отображения данных при выборе определенных элементов в измерении.

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

Способ детализации EaxDrillType.ToFixed для метода DrillTerritory не доступен. Для проверки возможности детализации данных используйте свойство TerritoryDrillable.

Пример Fore

Для выполнения примера предполагается наличие формы, расположенной на ней кнопки с наименованием «Button1», компонента UiErAnalyzer с наименованием «UiErAnalyzer1» и компонента MapBox с наименованием «MapBox1», который отображает карту экспресс-отчета, подключенного в «UiErAnalyzer1». Указанная процедура является обработчиком события OnTerritoryClick компонента «MapBox1».

Sub MapBox1OnTerritoryClick(Sender: Object; Args: IMapBoxTerritoryEventArgs);
Var
    Expr: IEaxAnalyzer;
    Map: IEaxMap;
Begin
    Expr := UiErAnalyzer1.Instance As IEaxAnalyzer;
    Map := Expr.Map;
    If Map.TerritoryDrillable(Args.TerritoryId, EaxDrillType.Down) Then
        Map.DrillTerritory(Args.TerritoryId, EaxDrillType.Down);
    End If;
End Sub MapBox1OnTerritoryClick;

При щелчке мышью по какой-либо территории, если для этой территории доступна детализация данных, то она будет осуществлена.

Пример Fore.NET

Для выполнения примера предполагается наличие формы, расположенной на ней кнопки с наименованием «Button1», компонента UiErAnalyzerNet с наименованием «UiErAnalyzerNet1» и компонента MapBoxNet с наименованием «MapBoxNet1», который отображает карту экспресс-отчета, подключенного в «UiErAnalyzerNet1». Указанная процедура является обработчиком события OnTerritoryClick компонента «MapBoxNet1».

Imports Prognoz.Platform.Forms.Net;
Imports Prognoz.Platform.Interop.Express;

Private Sub mapBoxNet1_OnTerritoryClick(Sender: System.Object; Args: Prognoz.Platform.Interop.Map.MapBoxTerritoryEventArgs);
Var
    Expr: IEaxAnalyzer;
    Map: IEaxMap;
Begin
    Expr := UiErAnalyzerNet1.AnalyzerUi.Instance As IEaxAnalyzer;
    Map := Expr.Map;
    If Map.TerritoryDrillable[Args.TerritoryId, EaxDrillType.edtDown] Then
        Map.DrillTerritory(Args.TerritoryId, EaxDrillType.edtDown);
    End If;
End Sub;

При щелчке мышью по какой-либо территории, если для этой территории доступна детализация данных, то она будет осуществлена.

См. также:

IEaxMap