DrillTerritory(TerritoryAttrValue: Variant; [DrillType: EaxDrillType = 1]);
DrillTerritory(TerritoryAttrValue: Variant; DrillType: Prognoz.Platform.Interop.Express.EaxDrillType);
TerritoryAttrValue. Идентификатор территории.
DrillType. Способ детализации данных.
Метод DrillTerritory осуществляет детализацию данных для указанной территории карты.
Для детализации данных на карте территориальное измерение в экспресс-отчете должно быть расположено по строкам и содержать в своей структуре атрибут с идентификатором TOPO_ID. В качестве значений данного атрибута должны храниться ключи топооснов репозитория, которые будут использованы для отображения данных при выборе определенных элементов в измерении.
При выполнении метода DrillTerritory будет изменена отметка по территориальному измерению. В зависимости от значения параметра DrillType в измерении будут отмечены дочерние элементы территории, либо элементы уровня, на котором расположен родительский элемент. После изменения отметки будет отображена та топооснова, ключ которой указан в атрибуте TOPO_ID элемента, являющегося общим для всех выделенных в измерении элементов.
Способ детализации EaxDrillType.ToFixed для метода DrillTerritory не доступен. Для проверки возможности детализации данных используйте свойство TerritoryDrillable.
Для выполнения примера предполагается наличие формы, расположенной на ней кнопки с наименованием «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;
При щелчке мышью по какой-либо территории, если для этой территории доступна детализация данных, то она будет осуществлена.
Для выполнения примера предполагается наличие формы, расположенной на ней кнопки с наименованием «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;
При щелчке мышью по какой-либо территории, если для этой территории доступна детализация данных, то она будет осуществлена.
См. также: