IsAutoIndent: Boolean;
IsAutoIndent: boolean;
Свойство IsAutoIndent определяет, включено ли использование автоматических отступов для элементов.
Допустимые значения:
True. Использование автоматических отступов для элементов включено;
False. Использование автоматических отступов для элементов отключено.
Для выполнения примера предполагается наличие формы, содержащей компонент Button с идентификатором «Button1» и компонент UiReport с идентификатором «UiReport1». В качестве источника данных используется регламентный отчет с настроенной иерархией. Пример является обработчиком события OnClick для компонента «Button1».
Добавьте ссылку на системную сборку «Dimensions».
Sub Button1OnClick(Sender: Object; Args: IMouseEventArgs);
Var
Rep: IPrxReport;
DIs: IPrxDataIslands;
DI: IPrxDataIsland;
DimModel: IDimensionModel;
DIProp: IPrxDataIslandProperties;
Top: IPrxDataIslandDimension;
Level: IPrxDataIslandLevel;
Begin
Rep := UiReport1.Report.Edit;
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.IsAutoIndent Then
Level.AutoIndent := TriState.OnOption;
DIProp.HierarchyIndent := 4;
End If;
Debug.Write("Автоматические отступы для элементов: ");
Select Case Level.AutoIndent
Case TriState.OnOption:
Debug.WriteLine("используются");
Case TriState.OffOption:
Debug.WriteLine("не используются");
End Select;
If Not Level.IsAutoIndent Then
Level.AutoIndent := TriState.OnOption;
End If;
DI.Save;
Rep.Save;
End Sub Button1OnClick;
После выполнения примера в окно консоли будет выведен результат проверки, включено ли использование автоматических отступов.
В случае, если использование отступов в раскрывающейся иерархии было отключено, то оно будет включено. Если использование автоматических отступов было отключено, то для оформления будут использоваться настройки, заданные для ячеек листа.
Необходимые требования и результат выполнения примера Fore.NET совпадают с примером Fore. Вместо компонентов Fore используйте их Fore.NET аналоги.
Добавьте ссылки на системные сборки «Dimensions», «ForeSystem», «Report».
Imports Prognoz.Platform.Interop.Report;
Imports Prognoz.Platform.Interop.Dimensions;
Imports Prognoz.Platform.Interop.ForeSystem;
…
Private Sub button1_Click(sender: System.Object; e: System.EventArgs);
Var
Rep: IPrxReport;
DIs: IPrxDataIslands;
DI: IPrxDataIsland;
DimModel: IDimensionModel;
DIProp: IPrxDataIslandProperties;
Top: IPrxDataIslandDimension;
Level: IPrxDataIslandLevel;
Begin
Rep := uiReportNet1.ReportUi.Report.Edit();
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.IsAutoIndent Then
Level.AutoIndent := TriState.tsOnOption;
DIProp.HierarchyIndent := 4;
End If;
System.Diagnostics.Debug.Write("Автоматические отступы для элементов: ");
Select Case Level.AutoIndent
Case TriState.tsOnOption:
System.Diagnostics.Debug.WriteLine("используются");
Case TriState.tsOffOption:
System.Diagnostics.Debug.WriteLine("не используются");
End Select;
If Not Level.IsAutoIndent Then
Level.AutoIndent := TriState.tsOnOption;
End If;
DI.Save();
Rep.Save();
End Sub;
См. также: