Как использовать новый объект Таблица в FastReport VCL 6

10.01.2018

На мой взгляд очень полезное нововведение в FastReport VCL 6 – объект Таблица. Раньше нам была доступна только кросс-таблица, которая по сути представляла собой матрицу. А матрица нам нужна в специфичных отчетах. Не хватало обычной таблицы, которая удобна при масштабировании и перемещении полей. Все данные в одном контейнере и нет необходимости каждый раз при изменении отчета подгонять поля, чтобы избежать перекрытия. Это большой плюс, если вы собираетесь экспортировать отчет в табличные форматы.

Давайте рассмотрим особенности этого объекта на примере.

Добавляем объект «Таблица» на бэнд «Данные». Конечно, вы можете поместить таблицу и на другие бэнды, но тогда она не будет заполняться данными. Вернее, она будет содержать данные только из первой строки таблицы.

Размерность таблицы

По умолчанию таблица создается с пятью столбцами и пятью строками.

Управлять размерностью таблицы очень просто:

  • Первый способ. Выделяем объект «Таблица» левым кликом. В правом нижнем углу вы увидите значок, похожий на миниатюрную таблицу.

 

Потянув мышью за этот значок можно увеличить размерность таблицы в высоту или в ширину:

 

Таким же образом можно уменьшить таблицу, если перетягивать значок таблицы вверх-влево.

  • Второй способ. Выделяем таблицу мышью. В инспекторе свойств находим ColumnCount и RowCount:

 

В нашем случае количество колонок равно 2, а строк – 6.

Если задать значение меньше текущего и нажать Enter, то размерность таблицы уменьшится.

  • Третий способ.  Выбираем мышью ячейку колонки рядом с которой мы хотим вставить еще один столбец. Чтобы выбрать целый столбец, перемещаем указатель мыши чуть выше нужного столбца, за пределами таблицы. При этом появится серый значок-стрелка, указывающий на столбец. Делаем правый клик по значку или области между ним и границей таблицы. В появившемся контекстном меню выбираем значение «Добавить колонку перед» (Add column before) или «Добавить колонку после» (Add column after) в зависимости от вашего желания.

 

Из этого же меню можно удалить выделенную колонку с помощью соответствующего пункта.

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

 

Объединение/разделение ячеек

Для объединения ячеек, нужно выбрать мышью нужные. Правым кликом вызываем контекстное меню и выбираем пункт «Объединить ячейки» (join cell).

Объединенные ячейки можно разделять также, из контекстного меню, пункт «Разделить ячейки» (split cell).

Добавление данных

Добавлять поля в ячейки таблицы можно несколькими способами:

1)      Drug&Drop – перетаскиваем поля из области данных в нужные ячейки;

2)      Из выпадающего списка в ячейке. При этом для бэнда «Данные» обязательно должен быть выбран источник данных;

 

3)      Двойной клик по нужной ячейке. В редакторе текста нажать на иконку «Вставить выражение». В редакторе выражения выбрать поле данных.

 

4)      Групповое добавление:

  • Отмечаем нужные поля в области «Данные» с помощью левой кнопки мыши и клавиши Ctrl;
  • Перетаскиваем все поля одним разом в область между стрелкой, подсвечивающей столбец (строку) и границей таблицы:

 

Отпускаем кнопку мыши:

 

Перемещение столбцов и строк

Но возможности таблицы не исчерпываются лишь добавлением и удалением. Можно изменять порядок столбцов и строк. Для этого выделяем столбец, зажимаем клавишу Ctrl, нажимаем левую кнопку мыши и перетягиваем столбец (строку) в нужное место.

Было:

 

Стало:

 

Объекты внутри таблицы

Таблица позволяет размещать в ячейках помимо объекта Текст и другие. Ограничение накладывается лишь на таблицы, кросс-таблицы, ДБ кросс-таблицы и вложенные отчеты. Все остальные объекты можно размещать в ячейках, причем хоть все в одной ячейке одновременно. Например, картинка:

 

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

Свойства объекта Таблица

У объекта «Таблица» есть два свойства, о которых стоит написать:

  • AutoSize – таблица может растягиваться и сжиматься в зависимости от контента ячеек;
  • AllowSplit – возможность разбить таблицу, если она не помещается целиком на таблице.

Давайте рассмотрим подробнее первое свойство - AutoSize. Назначать авто-размер можно столбцам и строкам. Это естественно, потому что, если растягивается одна ячейка, должны растянуться и соседние по вертикали или горизонтали.

Чтобы его использовать придется настроить бэнд «Данные». В его свойствах находим Stretched и устанавливаем в true. А для StretchMode выбираем ActualHeight. Теперь бэнд может растягиваться по высоте. Теперь нужно выбирать столбец или строку и сделать правый клик по области между стрелкой-указателем столбца/строки и границей таблицы. В контекстном меню выбираем AutoSize.

 

Нижняя строка с выключенным свойством AutoSize:

 

Нижняя строка со включенным свойством AutoSize:

 

Теперь рассмотрим свойство AllowSplit. Включить его очень просто. Для бэнда «Данные», в котором расположен объект «Таблица» нужно включить свойство AllowSplit. Сделать это можно правым кликом по заголовку бэнда. В контекстном меню выбираем нужное свойство. Либо в инспекторе свойств бэнда «Данные» также находим AllowSplit и задаем true. Вот как выглядит таблица, если это свойство отключено:

 

Как видите, следующая таблица не поместилась на странице и перенесена на следующую. А теперь включим AllowSplit.

 

Часть таблицы выведена на первой странице, остальная – на второй. Эта опция помогает экономить бумагу при распечатке отчетов с таблицами.

Пора подводить итоги. Рассмотренный объект «Таблица» оказался достаточно функциональным и, по моему мнению, будет пользовать популярностью у разработчиков отчетов за свое юзабилити.

VCL FastReport Дизайнер VCL FastReport Дизайнер
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 ООО «Быстрые отчеты»