Drill: IPrxDimensionDrill;
Drill: Prognoz.Platform.Interop.Report.IPrxDimensionDrill;
Свойство Drill определяет параметры расшифровки области данных.
Для определения, включена ли опция «Расшифровка», используйте свойство IPrxDataIslandDimensionCommon.IsDrilled.
Для выполнения примера предполагается наличие формы, содержащей компонент 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. Вместо компонентов 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;
См. также: