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

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
3 июня 2025

Как импортозаместить генерацию документов в крупных компаниях: обзор продукта «МоиОтчеты Корпоративный Сервер»

В обзоре расскажем, как МоиОтчеты Корпоративный Сервер справляется с задачами крупного бизнеса и государственных предприятий в области автоматизированной генерации отчетов и документов.
30 мая 2025

Открываем файлы с расширением FP3 с помощью МоиОтчеты Вьювер

МоиОтчеты Вьювер — идеальное решение для работы с файлами FP3. Он позволяет легко открывать, просматривать, печатать и экспортировать отчёты.
21 апреля 2025

Работа с компонентом TfrShellTreeView в FastReport VCL

В данной статье мы рассмотрим компонент TfrShellTreeView. Он предназначен для отображения элементов файловой системы и частично является аналогом компонентов TDirectoryListBox, TDirectoryOutline и TShellTreeView.