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

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". Помните о том, что подсвечиваемые объекты должны иметь прозрачный фон.


1 ноября 2024

Новые возможности редактора отчетов FastReport VCL

Рассматриваем новые возможности редактора отчетов: выносные линии, подсветка пересекающихся объектов, обновлённые деревья отчетов и данных.
30 октября 2024

Использование стилей при создании отчетов в FastReport VCL

В статье подробно рассматривается одна из новых возможностей FastReport VCL – применение стилей и страниц стилей.
28 октября 2024

Как настроить WSL 2 для работы с FastReport и FastCube

В этой статье попробуем вместе разобраться, как настроить WSL 2 для работы с компонентами FastReport и FastCube в Lazarus для Linux.