Settings(Value: IDimHierarchyInstance): IEaxHierarchySettings;
Settings[Value: Prognoz.Platform.Interop.Dimensions.IDimHierarchyInstance]: Prognoz.Platform.Interop.Express.IEaxHierarchySettings;
Value. Альтернативная иерархия.
Свойство Settings определяет настройки указанной альтернативной иерархии.
Для создания настроек используйте класс EaxHierarchySettings.
Для выполнения примера в репозитории предполагается наличие экспресс-отчета с идентификатором «EAX_DIMPROP», содержащего пользовательскую альтернативную иерархию.
Добавьте ссылки на системные сборки: Dimension, Express, Metabase, Pivot, Tab.
Sub UserProc;
Var
MB: IMetabase;
Express: IEaxAnalyzer;
Grid: IEaxGrid;
Pivot: IPivot;
PvtHeader: IPivotHeader;
PvtDim: IPivotDimension;
ViewSettings: IEaxGridViewSettings;
HeaderProp: IEaxGridHeaderProperties;
DimProp: IEaxDimensionProperties;
Hier: IEaxDataAreaHierarchy;
Sett: IEaxHierarchySettings;
DimSel: IDimSelection;
DimEl: String;
CellStyle: IEaxDataAreaCellStyle;
Begin
// Получаем текущий репозиторий
MB := MetabaseClass.Active;
// Получаем экспресс-отчет
Express := MB.ItemById("EAX_DIMPROP").Edit As IEaxAnalyzer;
// Получаем таблицу данных отчета
Grid := Express.Grid;
// Получаем параметры отображения таблицы данных отчета
ViewSettings := Grid.ViewSettings;
// Получаем объект, на котором строится таблица данных
Pivot := Grid.Pivot;
// Получаем боковик таблицы
PvtHeader := Pivot.LeftHeader;
// Получаем первое измерение в боковике
PvtDim := PvtHeader.PivotDim(0);
// Получаем настройки отображения первого измерения в боковике
HeaderProp := ViewSettings.GetViewSettings(PvtDim As IDataAreaHeaderSettingsBase);
DimProp := HeaderProp As IEaxDimensionProperties;
// Получаем альтернативную иерархию
Hier := Express.DataArea.Hierarchies.Item(0);
// Получаем настройки альтернативной иерархии
Sett := DimProp.Settings(Hier.Hierarchy);
// Изменяем выравнивание заголовка для первого элемента альтернативной иерархии
DimSel := PvtDim.DimInstance.CreateSelection;
DimSel.SelectAll;
DimEl := DimSel.Dimension.Elements.Id(DimSel.Element(0));
CellStyle := Sett.CellStyle(DimEl);
CellStyle.Header.HorizontalAlignment := TabFormatAlignment.Center;
// Сохраняем изменения
(Express As IMetabaseObject).Save;
End Sub UserProc;
В результате выполнения примера будет изменено оформление заголовка для первого элемента альтернативной иерархии.
Необходимые требования и результат выполнения примера Fore.NET совпадают с примером Fore.
Imports Prognoz.Platform.Interop.Dimensions;
Imports Prognoz.Platform.Interop.Express;
Imports Prognoz.Platform.Interop.ForeSystem;
Imports Prognoz.Platform.Interop.Pivot;
Imports Prognoz.Platform.Interop.Tab;
…
Public Shared Sub Main(Params: StartParams);
Var
MB: IMetabase;
Express: IEaxAnalyzer;
Grid: IEaxGrid;
Pivot: IPivot;
PvtHeader: IPivotHeader;
PvtDim: IPivotDimension;
ViewSettings: IEaxGridViewSettings;
HeaderProp: IEaxGridHeaderProperties;
DimProp: IEaxDimensionProperties;
Hier: IEaxDataAreaHierarchy;
Sett: IEaxHierarchySettings;
DimSel: IDimSelection;
DimEl: String;
CellStyle: IEaxDataAreaCellStyle;
Begin
// Получаем текущий репозиторий
MB := Params.Metabase;
// Получаем экспресс-отчет
Express := MB.ItemById["EAX_DIMPROP"].Edit() As IEaxAnalyzer;
// Получаем таблицу данных отчета
Grid := Express.Grid;
// Получаем параметры отображения таблицы данных отчета
ViewSettings := Grid.ViewSettings;
// Получаем объект, на котором строится таблица данных
Pivot := Grid.Pivot;
// Получаем боковик таблицы
PvtHeader := Pivot.LeftHeader;
// Получаем первое измерение в боковике
PvtDim := PvtHeader.PivotDim[0];
// Получаем настройки отображения первого измерения в боковике
HeaderProp := ViewSettings.GetViewSettings[PvtDim As IDataAreaHeaderSettingsBase];
DimProp := HeaderProp As IEaxDimensionProperties;
// Получаем альтернативную иерархию
Hier := Express.DataArea.Hierarchies.Item[0];
// Получаем настройки альтернативной иерархии
Sett := DimProp.Settings[Hier.Hierarchy];
// Изменяем выравнивание заголовка для первого элемента альтернативной иерархии
DimSel := PvtDim.DimInstance.CreateSelection();
DimSel.SelectAll();
DimEl := DimSel.Dimension.Elements.Id[DimSel.Element[0]];
CellStyle := Sett.CellStyle[DimEl];
CellStyle.Header.HorizontalAlignment := TabFormatAlignment.tfaCenter;
// Сохраняем изменения
(Express As IMetabaseObject).Save();
End Sub;
См. также: