IPrxDataIslandHeaderCommon.IsHierarchical

Синтаксис Fore

IsHierarchical: Boolean;

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

IsHierarchical: boolean;

Описание

Свойство IsHierarchical определяет, установлена ли раскрывающаяся иерархия.

Комментарии

Допустимые значения:

Пример Fore

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

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

Sub Button1OnClick(Sender: Object; Args: IMouseEventArgs);
Var
    Rep: IPrxReport;
    DIs: IPrxDataIslands;
    DI: IPrxDataIsland;
    Dim: IDimInstance;
    DimProp: IPrxDataIslandDimension;
    Totals: IPrxDataIslandTotals;
    TotalsL: IPrxDataIslandTotals;
    DimModel: IDimensionModel;
    DIProp: IPrxDataIslandProperties;
    Top: IPrxDataIslandDimension;
    Level: IPrxDataIslandLevel;
Begin
    Rep := UiReport1.Report;
    DIs := Rep.DataIslands;
    DI := DIs.Item(
0).Edit;
        
// Раскрывающаяся иерархия:
        DimModel := DI.Slice.TopHeader.Item(0).Dimension.Dimension;
        DIProp := DI.Properties;
        Top := DIProp.Dimension(DimModel);
        Level := Top.Level(DimModel.Levels.Item(
0));
        
If Not Level.IsHierarchical Then
            Level.Hierarchical := TriState.OnOption;
        
End If;
        Debug.WriteLine(
"Раскрывающаяся иерархия: ");
        
Select Case Level.Hierarchical
            
Case TriState.OnOption:
                Debug.WriteLine(
"установлена");
            
Case TriState.OffOption:
                Debug.WriteLine(
"не установлена");
        
End Select;
        Dim := DI.Slice.LeftHeader.Item(
0).Dimension;
        DimProp := DIProp.Dimension(Dim.Dimension);
        
// Параметры итогов по иерархии
        Totals := DimProp.HierarchyTotals;
        Totals.Totals := TriState.OnOption;
        Totals.Method := BasicAggregatorOperation.Sum;
        
// Параметры итогов по уровням
        TotalsL := DimProp.LevelTotals;
        TotalsL.Totals := TriState.OnOption;
        TotalsL.Method := BasicAggregatorOperation.Sum;
    DI.Save;
End Sub Button1OnClick;

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

В случае, если опция была установлена, то она будет отключена для столбцов заданной области.

Для регламентного отчета будут настроены итоги по иерархии и уровням для измерения, расположенного по строкам в заданной области данных.

Пример Fore.NET

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

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

Private Sub button1_Click(sender: System.Object; e: System.EventArgs);
Var
    Rep: IPrxReport;
    DIs: IPrxDataIslands;
    DI: IPrxDataIsland;
    Dim: IDimInstance;
    DimProp: IPrxDataIslandDimension;
    Totals: IPrxDataIslandTotals;
    TotalsL: IPrxDataIslandTotals;
    DimModel: IDimensionModel;
    DIProp: IPrxDataIslandProperties;
    Top: IPrxDataIslandDimension;
    Level: IPrxDataIslandLevel;
Begin
    Rep := uiReportNet1.ReportUi.Report;
    DIs := Rep.DataIslands;
    DI := DIs.Item[0].Edit();
        // Раскрывающаяся иерархия:
        DimModel := DI.Slice.TopHeader.Item[0].Dimension.Dimension;
        DIProp := DI.Properties;
        Top := DIProp.Dimension[DimModel];
        Level := Top.Level[DimModel.Levels.Item[0]];
        If Not Level.IsHierarchical Then
            Level.Hierarchical := TriState.tsOnOption;
        End If;
        System.Diagnostics.Debug.WriteLine("Раскрывающаяся иерархия: ");
        Select Case Level.Hierarchical
            Case TriState.tsOnOption:
                System.Diagnostics.Debug.WriteLine("установлена");
            Case TriState.tsOffOption:
                System.Diagnostics.Debug.WriteLine("не установлена");
        End Select;
        Dim := DI.Slice.LeftHeader.Item[0].Dimension;
        DimProp := DIProp.Dimension[Dim.Dimension];
        // Параметры итогов по иерархии
        Totals := DimProp.HierarchyTotals;
        Totals.Totals := TriState.tsOnOption;
        Totals.Method := BasicAggregatorOperation.baoSum;
        // Параметры итогов по уровням
        TotalsL := DimProp.LevelTotals;
        TotalsL.Totals := TriState.tsOnOption;
        TotalsL.Method := BasicAggregatorOperation.baoSum;
    DI.Save();
End Sub;

См. также:

IPrxDataIslandHeaderCommon