Style: IPrxDataElementStyle;
Style: Prognoz.Platform.Interop.Report.IPrxDataElementStyle;
Свойство Style определяет параметры оформления области данных.
Для получения объекта, содержащего наименование элементов измерения, используйте свойство IPrxDataIslandDimensionCommon.Naming.
Для выполнения примера предполагается наличие формы, содержащей компонент Button с идентификатором «Button1» и компонент UiReport с идентификатором «UiReport1».
Компонент UiReport должен быть настроен на регламентный отчет, содержащий область данных. Измерение области данных в шапке должно быть построено на справочнике, имеющем 3 уровня.
Добавьте ссылки на системные сборки «Dimensions», «Drawing», «Report». Пример является обработчиком события OnClick для компонента «Button1».
Sub Button1OnClick(Sender: Object; Args: IMouseEventArgs);
Var
DI: IPrxDataIsland;
Report: IPrxReport;
Top: IPrxDataIslandDimension;
DIProp: IPrxDataIslandProperties;
Level1, Level2, Level3: IPrxDataIslandLevel;
Style1, Style2, Style3: IPrxCellStyle;
DimModelTop: IDimensionModel;
Levels: IDimLevels;
ColorRed, ColorSilver, ColorYellow: IGxColor;
Begin
Report := UiReport1.Instance As IPrxReport;
DI := Report.DataIslands.Item(0).Edit;
DIProp := DI.Properties;
DimModelTop := DI.Slice.TopHeader.Item(0).Dimension.Dimension;
Levels := DimModelTop.Levels;
Top := DIProp.Dimension(DimModelTop);
// Получим
уровни
Level1 := Top.Level(Levels.Item(0));
Level2 := Top.Level(Levels.Item(1));
Level3 := Top.Level(Levels.Item(2));
// Зададим
цвета
ColorRed := Gxcolor.FromName("Red");
ColorSilver := Gxcolor.FromName("Silver");
ColorYellow := Gxcolor.FromName("Yellow");
// Зададим
стиль 1-го уровня
Style1 := Level1.Style.Header;
Style1.BackgroundColor := ColorRed;
Style1.Text := "Red";
Level1.Style.Data.Assign(Style1);
// Зададим
стиль 2-го уровня
Style2 := Level2.Style.Header;
Style2.BackgroundColor := ColorSilver;
Style2.Text := "Silver";
Level2.Style.Data.Assign(Style2);
// Зададим
стиль 3-го уровня
Style3 := Level3.Style.Header;
Style3.BackgroundColor := ColorYellow;
Style3.Text := "Yellow";
Level3.Style.Data.Assign(Style3);
DI.Save;
DI.Recalc;
End Sub Button1OnClick;
После выполнения примера к уровням иерархии будет применен свой стиль оформления.
Необходимые требования и результат выполнения примера Fore.NET совпадают с примером Fore. Вместо компонентов Fore используйте их Fore.NET аналоги.
Добавьте ссылки на системные сборки «Dimensions», «Drawing», «Report», «Tab».
Imports Prognoz.Platform.Interop.Dimensions;
Imports Prognoz.Platform.Interop.Drawing;
Imports Prognoz.Platform.Interop.Report;
Imports Prognoz.Platform.Interop.Tab;
…
Private Sub button1_Click(sender: System.Object; e: System.EventArgs);
Var
DI: IPrxDataIsland;
Report: IPrxReport;
Top: IPrxDataIslandDimension;
DIProp: IPrxDataIslandProperties;
Level1, Level2, Level3: IPrxDataIslandLevel;
Style1, Style2, Style3: IPrxCellStyle;
DimModelTop: IDimensionModel;
Levels: IDimLevels;
ColorRed, ColorSilver, ColorYellow: GxColor;
Gxcolor: GxColorClassClass = New GxColorClassClass();
Begin
Report := uiReportNet1.ReportUi.Instance As IPrxReport;
DI := Report.DataIslands.Item[0].Edit();
DIProp := DI.Properties;
DimModelTop := DI.Slice.TopHeader.Item[0].Dimension.Dimension;
Levels := DimModelTop.Levels;
Top := DIProp.Dimension[DimModelTop];
// Получим
уровни
Level1 := Top.Level[Levels.Item[0]];
Level2 := Top.Level[Levels.Item[1]];
Level3 := Top.Level[Levels.Item[2]];
// Зададим
цвета
ColorRed := Gxcolor.FromName("Red");
ColorSilver := Gxcolor.FromName("Silver");
ColorYellow := Gxcolor.FromName("Yellow");
// Зададим
стиль 1-го уровня
Style1 := Level1.Style.Header;
Style1.BackgroundColor := ColorRed;
Style1.Text := "Red";
Level1.Style.Data.Assign(Style1
As TabCellStyle);
// Зададим
стиль 2-го уровня
Style2 := Level2.Style.Header;
Style2.BackgroundColor := ColorSilver;
Style2.Text := "Silver";
Level2.Style.Data.Assign(Style2
As TabCellStyle);
// Зададим
стиль 3-го уровня
Style3 := Level3.Style.Header;
Style3.BackgroundColor := ColorYellow;
Style3.Text := "Yellow";
Level3.Style.Data.Assign(Style3
As TabCellStyle);
DI.Save();
DI.Recalc();
End Sub;
См. также: