ElementStyle(Element: Variant): IEaxDataAreaCellStyle;
ElementStyle[Element: Object]: Prognoz.Platform.Interop.Express.IEaxDataAreaCellStyle;
Element. Идентификатор вычисляемого элемента.
Свойство ElementStyle определяет стиль оформления ячеек элемента альтернативной иерархии.
Для получения идентификатора вычисляемого элемента используйте свойство IDimInstance.Id.
Для выполнения примера предполагается наличие в репозитории экспресс-отчета с идентификатором «EXPRESS_REPORT». Одно из измерений должно содержать минимум одну альтернативную иерархию.
Добавьте ссылки на системные сборки: Dimensions, Express, Metabase, Tab.
Sub UserProc;
Var
MB: IMetabase;
Express: IEaxAnalyzer;
Hier: IEaxDataAreaHierarchy;
DimSel: IDimSelection;
DimEl: String;
CellStyle: IEaxDataAreaCellStyle;
CellFont: ITabFont;
Begin
MB := MetabaseClass.Active;
Express := MB.ItemById("EXPRESS_REPORT").Edit As IEaxAnalyzer;
// Получаем альтернативную иерархию и первый элемент
Hier := Express.DataArea.Hierarchies.Item(0);
DimSel := Hier.Selection;
DimSel.SelectAll;
DimEl := DimSel.Dimension.Elements.Id(DimSel.Element(0));
// Новый стиль для элемента
CellStyle := New EaxDataAreaCellStyle.Create;
// Выравнивание в заголовке элемента
CellStyle.Header.HorizontalAlignment := TabFormatAlignment.Center;
// Шрифт в области с данными по элементу
CellFont := CellStyle.Data.Font;
CellFont.Name := "Arial";
CellFont.Italic := TriState.OnOption;
CellStyle.Data.Font := CellFont;
// Установка нового стиля для элемента
Hier.ElementStyle(DimEl) := CellStyle;
// Обновим и сохраним изменения
Express.RefreshAll;
(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.Metabase;
Imports Prognoz.Platform.Interop.Tab;
Public Shared Sub Main(Params: StartParams);
Var
MB: IMetabase;
Express: IEaxAnalyzer;
Hier: IEaxDataAreaHierarchy;
DimSel: IDimSelection;
DimEl: String;
CellStyle: EaxDataAreaCellStyle = New EaxDataAreaCellStyleClass();
CellFont: ITabFont;
Begin
MB := Params.Metabase;
Express := MB.ItemById["EXPRESS_REPORT"].Edit() As IEaxAnalyzer;
// Получаем альтернативную иерархию и первый элемент
Hier := Express.DataArea.Hierarchies.Item[0];
DimSel := Hier.Selection;
DimSel.SelectAll();
DimEl := DimSel.Dimension.Elements.Id[DimSel.Element[0]];
// Выравнивание в заголовке элемента
CellStyle.Header.HorizontalAlignment := TabFormatAlignment.tfaCenter;
// Шрифт в области с данными по элементу
CellFont := CellStyle.Data.Font;
CellFont.Name := "Arial";
CellFont.Italic := TriState.tsOnOption;
CellStyle.Data.Font := CellFont;
// Установка нового стиля для элемента
Hier.ElementStyle[DimEl] := CellStyle;
// Обновим и сохраним изменения
Express.RefreshAll();
(Express As IMetabaseObject).Save();
End Sub;
См. также: