IPrxDataIslandDimensionCommon.Drill

Синтаксис Fore

Drill: IPrxDimensionDrill;

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

Drill: Prognoz.Platform.Interop.Report.IPrxDimensionDrill;

Описание

Свойство Drill определяет параметры расшифровки области данных.

Комментарии

Для определения, включена ли опция «Расшифровка», используйте свойство IPrxDataIslandDimensionCommon.IsDrilled.

Пример Fore

Для выполнения примера предполагается наличие формы, содержащей компонент Button с идентификатором «Button1» и компонент UiReport с идентификатором «UiReport1». В качестве источника данных используется регламентный отчет с настроенной иерархией. Пример является обработчиком события OnClick для компонента «Button1».

Sub Button1OnClick(Sender: Object; Args: IMouseEventArgs);
Var
    Report: IPrxReport;
    DI: IPrxDataIsland;
    DIProp: IPrxDataIslandProperties;
    Drill: IPrxDimensionDrill;
    DimMode: IPrxSliceDimension;
    DimModel: IDimensionModel;
    Top: IPrxDataIslandDimension;
    Level: IPrxDataIslandLevel;
Begin
    Report := UiReport1.Instance As IPrxReport;
    DI := Report.DataIslands.Item(0);
    DI.Edit;
    DimModel := DI.Slice.Dimensions.Item(0).Dimension.Dimension;
    DIProp := DI.Properties;
    Top := DIProp.Dimension(DimModel);
    Level := Top.Level(DimModel.Levels.Item(0));
    If Level.IsDrilled <> True Then
        Level.Drilled := TriState.OnOption;
    End If;
    Drill := Level.Drill;
    Drill.Mode := PrxDataDrillMode.Replace;
    DimMode := Report.DataSources.Item(0).Slices.Item(0).Dimensions.Item(0);
    Drill.Dimension := DimMode;
    Drill.Index := DimMode.Dimension.Dimension.Indexes.PrimaryIndex;
    Drill.Attribute := DimModel.Attributes.Id;
    Drill.Sheet := Null;
    Drill.Action := "#Лист2!PrxChart1";
    DI.Save;
End Sub Button1OnClick;

После выполнения примера для области данных будет настроена расшифровка. При нажатии на гиперссылку будет производиться позиционирование на диаграмме, которая расположена на втором листе отчета.

Пример Fore.NET

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

Добавьте ссылки на системные сборки «Dimensions», «ForeSystem», «Report».

Imports Prognoz.Platform.Interop.Dimensions;
Imports Prognoz.Platform.Interop.ForeSystem;
Imports Prognoz.Platform.Interop.Report;

Private Sub button1_Click(sender: System.Object; e: System.EventArgs);
Var
    Report: IPrxReport;
    DI: IPrxDataIsland;
    DIProp: IPrxDataIslandProperties;
    Drill: IPrxDimensionDrill;
    DimMode: IPrxSliceDimension;
    DimModel: IDimensionModel;
    Top: IPrxDataIslandDimension;
    Level: IPrxDataIslandLevel;
Begin
    Report := uiReportNet1.ReportUi.Instance As IPrxReport;
    DI := Report.DataIslands.Item[0];
    DI.Edit();
    DimModel := DI.Slice.Dimensions.Item[0].Dimension.Dimension;
    DIProp := DI.Properties;
    Top := DIProp.Dimension[DimModel];
    Level := Top.Level[DimModel.Levels.Item[0]];
    If Level.IsDrilled <> True Then
        Level.Drilled := TriState.tsOnOption;
    End If;
    Drill := Level.Drill;
    Drill.Mode := PrxDataDrillMode.ddmReplace;
    DimMode := Report.DataSources.Item[0].Slices.Item[0].Dimensions.Item[0];
    Drill.Dimension := DimMode;
    Drill.Index := DimMode.Dimension.Dimension.Indexes.PrimaryIndex;
    Drill.Attribute := DimModel.Attributes.Id;
    Drill.Sheet := Null;
    Drill.Action := "#Лист2!PrxChart1";
    DI.Save();
End Sub;

См. также:

IPrxDataIslandDimensionCommon