Выделение четных строк цветом фона

27.03.2013

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

Способ №1

Открываем дизайнер отчетов и создаем располосицу в нужном нам отчете: заходим в редактор стилей в верхнем меню Report-Styles, там добавляем стиль с именем EvenRows и задаем ему нужный цвет фона. Затем нужно указать в свойствах  бэнда EvenStyle = EvenRows.

Нужно задать параметр, который будет управлять выключением полосок. В дереве данных в дизайнере отчетов есть пункт Parameters. Нужно добавить новый параметр, к примеру, с именем EvenOff типа bool, а в Expression написать значение по умолчанию - false. В инспекторе объектов выбираем Report и кликаем на кнопку событий. Там делаем даблклик на пустое поле события StartReport - попадаем в редактор кода скрипта отчета. Добавляем следующий код:

private void _StartReport(object sender, EventArgs e)
    {
       if ((Boolean)Report.GetParameterValue("EvenOff"))
        Data1.EvenStyle = "";
      else
        Data1.EvenStyle = "EvenRows";
    }

Теперь можно управлять извне включением располосицы.

Перед подготовкой отчета в методе экспорта в файл Excel нужно добавить строку:

...
            webReport.Report.SetParameterValue("EvenOff", true);
            webReport.Report.Prepare();

            Stream stream = new MemoryStream();

            webReport.Report.Export(new Excel2007Export(), stream);

...

 

 

Способ №2

Существует также и другой способ изменения цвета фона при просмотре, который потребует создания дополнительных объектов в отчете. У всех объектов есть свойства Printable и Exportable, которые по умолчанию установлены в true и указывают будет ли наш объект выводиться на печать или экспортироваться в какой-либо формат. Можно создать текстовый объект с пустым содержимым и установить эти свойства как нам нужно. Далее необходимо назначить ему нужный цвет фона или стиль, как рассказано выше. Затем нужно расположить этот объект позади подсвечиваемых объектов. Для этого кликаем правой кнопкой мыши на нужный объект и выбраем нижний пункт меню "Send To Back". Помните о том, что подсвечиваемые объекты должны иметь прозрачный фон.


.NET FastReport .NET FastReport
26 октября 2026

TfrImageComboBox: выпадающий список с изображениями и текстовыми подписями в FastReport VCL

TfrImageComboBox из FastEditors VCL: выпадающий список с иконками и подписями для FastReport VCL. Свойства, события и примеры использования в Delphi.
26 октября 2026

Прогресс-бар в Delphi: компоненты TfrProgressBar и TfrxProgressBar из FastReport VCL

Разбираем компоненты TfrProgressBar и TfrxProgressBar из FastReport VCL: настройка шкалы прогресса, пороги и маркеры, привязка к данным и пример на Delphi.
23 октября 2026

FastGrid изнутри: объект View, колонки и события компонента сетки Delphi

Внутреннее устройство FastGrid: объект View, свойство Appearance, колонки, события и режимы работы с данными DB и Unbound в Delphi. Разбор на примере демо-проекта GridDemo.dpr.

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