Как управлять шириной табуляции в RichObject

05.09.2021

Некоторые пользователи предпочитают создавать таблицы регулируя ширину табуляции или им необходимо создать таблицу в формате, который их не поддерживает.

В предыдущих версиях FastReport .NET RichObject имел возможность управления шириной табуляции в строке, но все их размеры после первой табуляции были одинаковыми, в текущей версии это было исправлено и теперь можно задать размер для каждого символа табуляции.

Новое свойство для TextObject TabPositions позволяет задавать ширину табуляции. Оно используется при конвертации RichObject. Теперь управлять шириной символов табуляции можно двумя способами:

– из кода задав ширину отдельных символов табуляции для каждой строки TextObject;
– загрузив готовый документ в RichObject.

Возможности редактировать это свойство в дизайнере временно отсутствует. Если знаков табуляций будет больше чем значений ширины, размер табуляции будет обычным, а если значений больше чем знаков табуляций, то излишние значения ширины не будут применены.

Пример текста с разной шириной табуляции

Оригинальный RTF документ:

Настройка ширины табуляции в Word

Как он выглядел в прошлой версии:

Разная ширина табуляции в окне предварительного просмотра прошлой версии

В текущей версии:

Разная ширина табуляции в окне предварительного просмотра этой версии

Управление шириной табуляции из кода:

 //create instance of class Report
 Report report = new Report();
 //create report page
 ReportPage pageBase = new ReportPage();
 //create data band
 DataBand dataBand = new DataBand();
 //create text object
 TextObject textObject = new TextObject();
 //set the text value
 textObject.Text = "1\t2\t3\t4";
 //set width for every symbol tab in centimeters
 textObject.TabPositions = new FloatCollection() { Units.Centimeters * 2.5f, Units.Centimeters * 3.5f, Units.Centimeters * 5 };
 //add the text object to data band
 textObject.Parent = dataBand;
 //set generated name
 textObject.CreateUniqueName();
 //set the text object bounds
 textObject.Bounds = new RectangleF(0, 0, Units.Centimeters * 15, Units.Centimeters * 0.5F);
 //create one more text object
 TextObject textObject2 = new TextObject();
 textObject2.Text = "5\t6\t7\t8";
 textObject2.TabPositions = new FloatCollection() { Units.Centimeters * 2.5f, Units.Centimeters * 3.5f, Units.Centimeters * 5 };
 textObject2.Parent = dataBand;
 textObject2.CreateUniqueName();
 textObject2.Bounds = new RectangleF(0, Units.Centimeters * 1, Units.Centimeters * 15, Units.Centimeters * 0.5F);
 //create one more text object
 TextObject textObject3 = new TextObject();
 textObject3.Text = "9\t10\t11\t12";
 textObject3.TabPositions = new FloatCollection() { Units.Centimeters * 2.5f, Units.Centimeters * 3.5f, Units.Centimeters * 5 };
 textObject3.Parent = dataBand;
 textObject3.CreateUniqueName();
 textObject3.Bounds = new RectangleF(0, Units.Centimeters * 2, Units.Centimeters * 15, Units.Centimeters * 0.5F);
 //add the band to band collection
 pageBase.Bands.Add(dataBand);
 //add created page to report page collection
 report.Pages.Add(pageBase);
 //show report
 report.Show();

Таким образом, с помощью новых улучшений можно RichObject и TextObject превратить в альтернативу объекту Table.

.NET .NET FastReport FastReport RTF RTF
10 июля 2026

Как настроить Content Security Policy для отчетов FastReport .NET WEB

Узнайте, как настроить Content Security Policy для отчётов FastReport .NET WEB: обзор директив и значений CSP, изменения в архитектуре FastReport, типичные сценарии обхода и способы защиты.
22 июня 2026

Как настроить отчет с Business Objects из кода и дизайнера в FastReport .NET

В этой статье рассматривается реальный пример создания и использования шаблона отчета .frx для подключения к иерархическим бизнес-объектам в FastReport .NET.
21 апреля 2026

Использование водяных знаков в FastReport VCL

В статье подробно рассмотрели функционал добавления водяных знаков в FastReport VCL — как через визуальный интерфейс, так и программно, с помощью кода на Delphi и в скриптах отчётов.

Не является публичной офертой
© 1998-2026 ООО «Быстрые отчеты»