Search Results for

    Show / Hide Table of Contents

    Компоненты

    Компонент «Текст»

    Основой представления данных в FastReport служит объект «Текст». В палитре компонентов он выглядит так:

    А на странице отчета так:

    Объект «Тест» позволяет отображать текстовые данные следующего характера:

    • Строки текста;
    • Выражения;
    • Параметры отчета;
    • Итоговые значения;
    • Поля из источников данных;
    • Системные переменные.

    Кроме того, вы можете сочетать эти данные внутри одного текстового объекта.

    Чтобы открыть редактор текстового объекта, нужно сделать двойной щелчок мыши по добавленному на страницу отчета объекту. Откроется «Редактор выражения»:

    Объект "Текст" может содержать как обычный текст, так и выражения. Причем выражения могут содержаться в объекте вперемешку с текстом. Например:

    Сегодня [Date]
    

    При печати такого объекта все выражения, содержащиеся в тексте, будут вычислены. В текст будет подставлено значение выражения, например:

    Сегодня 12 сентября 2010г.
    

    Как видно, выражения обозначаются с помощью квадратных скобок. Это настраивается в свойстве Brackets, которое по умолчанию содержит строку "[,]". При необходимости вы можете указать другую пару символов, например "<,>" или "<!,!>". В последнем случае выражения в тексте будут выглядеть так:

    Сегодня <!Date!>
    

    Кроме того, можно запретить обработку выражений – за это отвечает свойство AllowExpressions. В этом случае текст будет отображаться "как есть".

    В квадратных скобках может содержаться любое выражение, корректное с точки зрения компилятора. Подробнее о выражениях читайте в главе "Выражения".

    Например, объект со следующим текстом:

    2 * 2 = [2 * 2]
    

    будет напечатан так:

    2 * 2 = 4
    

    Частая ошибка – попытка написать выражение за пределами квадратных скобок. Напоминаем, что считается выражением и вычисляется только то, что находится в квадратных скобках. Остальной текст печатается "как есть". Например:

    2 * 2 = [2] * [2]
    

    Такой текст будет напечатан следующим образом:

    2 * 2 = 2 * 2
    

    В выражениях могут встречаться элементы, заключенные в собственные квадратные скобки. Например, это обращения к системным переменным. Рассмотрим следующий пример содержимого объекта "Текст":

    Следующая страница: [[Page] + 1]
    

    Текст содержит выражение [Page] + 1: это содержимое внешней пары скобок. Page – это системная переменная, которая возвращает номер текущей страницы отчета. Она заключена в собственные скобки. Это обязательно должны быть квадратные скобки, независимо от настройки объекта "Текст" (свойство Brackets, которое мы рассматривали ранее).

    Строго говоря, мы должны были использовать две пары квадратных скобок при попытке распечатать системную переменную Date в ранее рассмотренных примерах:

    Сегодня [[Date]]
    

    Здесь внешняя пара скобок обозначает выражение, внутренняя необходима, так как мы обращаемся к системной переменной. Однако FastReport позволяет опускать лишнюю пару скобок, если в выражении есть только один член.

    Для обращения к полям источников данных используется следующая форма записи:

    [Имя источника.Имя поля]
    

    Как видно, здесь так же используются квадратные скобки. Имя источника отделяется от имени поля точкой, например:

    [Employees.FirstName]
    

    Подробнее об использовании полей в выражениях см. главу "Выражения".

    Для вставки поля в объект "Текст" можно использовать несколько способов:

    • в редакторе объекта «Текст» вручную вводим название поля;
    • в редакторе объекта «Текст» выбираем нужное поле и перетаскиваем его в текст (также можно сделать двойной щелчок на поле):

    • Мышью перетаскиваем нужное поле из окна "Данные" на страницу. При этом создается объект "Текст", который содержит ссылку на выбранное поле:

    В объекте "Текст" можно использовать некоторые простейшие тэги HTML. По умолчанию тэги отключены; чтобы их включить, в окне "Свойства" установите свойство "HtmlTags" в true. Вот список поддерживаемых тэгов:

    Тэг Описание
    <b>...</b> Жирный текст.
    <i>...</i> Наклонный текст.
    <u>...</u> Подчеркнутый текст.
    <strike>...</strike> Зачеркнутый текст.
    <sub>...</sub> Подстрочный текст.
    <sup>...</sup> Надстрочный текст.
    <font color=...>...</font> Цвет шрифта. В качестве цвета можно использовать именованный цвет (например, DarkGray), либо шестнадцатиричное значение цвета в формате #RGB, например #FF8030.

    Продемонстрируем применение тэгов на примерах.

    текст <b>жирный текст</b> <i>наклонный текст</i> <b><i>жирный и наклонный</b></i>
    E = mc<sup>2</sup>
    A<sub>1</sub> = B<sup>2</sup>
    это обычный текст, <font color=red>а это красный</font>
    это обычный текст, <font color=#FF8030>а это оранжевый</font>
    

    Этот текст будет отображен следующим образом:

    Рассмотрим свойства объекта «Текст»:

    Свойство Описание
    "Выражения в тексте" (AllowExpressions) Это свойство позволяет отключать обработку выражений в тексте объекта. По умолчанию оно включено.
    "Поворот" (Angle) В этом свойстве можно указать угол поворота текста в градусах.
    "Автосжатие шрифта"(AutoShrink) Это свойство позволяет автоматически уменьшить размер шрифта (Font.Size) или его ширину (FontWidthRatio) так, чтобы вместить весь текст.
    "Минимальный размер шрифта"(AutoShrinkMinSize) Это свойство определяет минимальный размер шрифта или минимальное значение свойства FontWidthRatio, в зависимости от значения свойства AutoShrink.
    "Автоширина" (AutoWidth) Это свойство позволяет автоматически подобрать ширину объекта так, чтобы поместить самую длинную строку текста целиком, без переноса слов.
    "Скобки" (Brackets) Это свойство определяет пару символов, которые используются для обозначения выражений в тексте объекта.
    "Разрываться в..." (BreakTo) С помощью этого свойства можно организовать "перетекание" текста между двумя объектами "Текст". Допустим, у нас есть объекты А и В. Объект А содержит большой объем текста, часть которого не помещается в объекте. Если в свойстве BreakTo этого объекта указать объект В, в нем будет напечатан текст, не поместившийся в объекте А.
    "Обрезать" (Clip) Это свойство определяет, надо ли обрезать текст, не поместившийся в объекте. По умолчанию свойство включено.
    "Повторяющиеся значения" (Duplicates) Это свойство определяет, как будут печататься повторяющиеся значения.
    "Первая табуляция" (FirstTabOffset) Это свойство определяет, на сколько пикселов сдвинуть первый символ табуляции.
    "Ширина шрифта" (FontWidthRatio) В этом свойстве можно указать коэффициент масштабирования шрифта по ширине. По умолчанию свойство равно 1. Чтобы увеличить ширину шрифта, укажите значение > 1; чтобы уменьшить ширину, укажите значение между 0 и 1.
    "Скрывать значение" (HideValue) Это строковое свойство позволяет скрывать значения выражений, которые равны заданному значению.
    "Скрывать нули" (HideZeros) Это свойство позволяет скрывать нулевые значения выражений.
    "Условное выделение" (Highlight) Свойство позволяет настроить условное выделение.
    "Html тэги"(HtmlTags) Это свойство позволяет использовать простые html тэги в тексте объекта.
    Выравнивание текста (HorzAlign, VertAlign) Эти свойства задают выравнивание текста внутри объекта по горизонтали и вертикали.
    "Межстрочный интервал" (LineHeight) Свойство позволяет задать межстрочный интервал, в пикселах. Значение по умолчанию = 0, при этом используется стандартный межстрочный интервал.
    "Нулевое значение"(NullValue) Строка, которая будет выводиться вместо null значения. Вам также надо отключить флажок "Преобразовывать null значения" в меню "Отчет/Настройки...".
    "Отступы" (Padding) Свойство позволяет задать отступы текста от краев объекта, в пикселах.
    "Справа налево" (RightToLeft) Это свойство позволяет выводить текст справа налево.
    "Ширина табуляции" (TabWidth) Это свойство позволяет указать ширину символа табуляции, в пикселах.
    "Текст" (Text) Это свойство содержит текст объекта.
    "Цвет текста" (TextFill) Это свойство определяет цвет текста. С помощью редактора этого свойства вы можете выбрать любую из доступных заливок.
    "Отсечение" (Trimming) Это свойство определяет, как показывать текст, который выходит за границы объекта. Это свойство используется только в том случае, если свойство "Перенос слов" отключено.
    "Подчеркивание" (Underlines) Свойство позволяет включить линии подчеркивания под каждой строкой текста. Подчеркивание можно использовать только для текста, выровненного по верхнему краю.
    "Перенос слов" (WordWrap) Это свойство определяет, надо ли переносить текст по словам.
    Wysiwyg Это свойство меняет режим отображения текста таким образом, чтобы добиться максимального соответствия между отображением текста на экране и на распечатке. Этот режим неявно включается, если вы используете выравнивание текста по ширине или нестандартный межстрочный интервал.
    Back to top © 1998-2024 Copyright ООО «Быстрые отчеты»