StairsHierarchy: Boolean;
StairsHierarchy: boolean;
Свойство StairsHierarchy определяет, будет ли использоваться ступенчатая иерархия.
Возможные значения:
True. Ступенчатая иерархия будет использоваться;
False. По умолчанию. Ступенчатая иерархия не будет использоваться.
Целесообразно использовать данное свойство, если по строкам/столбцам расположено несколько измерений или несколько уровней одного измерения.
Если свойство принимает значение True, то свойство IPivotDimensionLevelPropertiesCommon.ChildrenBeforeParents учитываться не будет.
Для получения признака того, является ли элемент заголовка таблицы ступенькой иерархии, используйте свойство IPivotTableHeader.IsStairElement.
Для выполнения примера в репозитории необходимо наличие экспресс-отчета с идентификатором «EXPRESS». В боковике отчета должно быть 2 измерения.
Добавьте ссылки на системные сборки: Express, Metabase, Pivot.
Sub UserProc;
Var
MB: IMetabase;
Express: IEaxAnalyzer;
Pivot: IPivot;
LeftHeader: IPivotHeader;
TableHeader: IPivotTableHeader;
Begin
// Получим репозиторий
MB := MetabaseClass.Active;
// Получим экспресс-отчет
Express := MB.ItemById("EXPRESS").Edit As IEaxAnalyzer;
// Получим настройки отображения таблицы данных отчета
Pivot := Express.Pivot;
// Получим коллекцию измерений, расположенных по строкам
LeftHeader := Pivot.LeftHeader;
// Будем использовать ступенчатую иерархию
LeftHeader.StairsHierarchy := True;
// Получим свойства заголовка строк таблицы
TableHeader := Pivot.ObtainTable.LeftHeader;
// Проверим является ли элемент ступенькой иерархии
If Not TableHeader.IsStairElement(1, 0) Then
Debug.WriteLine("Элемент заголовка строк таблицы не является ступенькой иерархии");
Else
Debug.WriteLine("Элемент заголовка строк таблицы является ступенькой иерархии");
End If;
// Сохраним изменения
(Express As IMetabaseObject).Save;
End Sub UserProc;
После выполнения примера в боковике таблицы будет использоваться ступенчатая иерархия, будет проведена проверка - не является ли ступенькой иерархии элемент заголовка строк таблицы.
Необходимые требования и результат выполнения примера Fore.NET совпадают с примером Fore.
Imports Prognoz.Platform.Interop.Express;
Imports Prognoz.Platform.Interop.Pivot;
…
Public Shared Sub Main(Params: StartParams);
Var
MB: IMetabase;
Express: IEaxAnalyzer;
Pivot: IPivot;
LeftHeader: IPivotHeader;
TableHeader: IPivotTableHeader;
Begin
// Получим репозиторий
MB := Params.Metabase;
// Получим экспресс-отчет
Express := MB.ItemById["EXPRESS"].Edit() As IEaxAnalyzer;
// Получим настройки отображения таблицы данных отчета
Pivot := Express.Pivot;
// Получим коллекцию измерений, расположенных по строкам
LeftHeader := Pivot.LeftHeader;
// Будем использовать ступенчатую иерархию
LeftHeader.StairsHierarchy := True;
// Получим свойства заголовка строк таблицы
TableHeader := Pivot.ObtainTable().LeftHeader;
// Проверим является ли элемент ступенькой иерархии
If Not TableHeader.IsStairElement[1, 0] Then
System.Diagnostics.Debug.WriteLine("Элемент заголовка строк таблицы не является ступенькой иерархии");
Else
System.Diagnostics.Debug.WriteLine("Элемент заголовка строк таблицы является ступенькой иерархии");
End If;
// Сохраним изменения
(Express As IMetabaseObject).Save();
End Sub;
См. также: