IPrxDataIslandHeaderCommon.IsHierarchical

Синтаксис

IsHierarchical: Boolean;

Описание

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

Комментарии

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

Пример

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

Добавьте ссылки на системные сборки: Dimensions, 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;

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

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

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

См. также:

IPrxDataIslandHeaderCommon