Бывает, что нужно выделить некоторые данные при анализе таблиц. Обычно при просмотре бумажного варианта, мы делаем это специальным маркером-выделителем. Но почему бы не делать это сразу, во время формирования таблицы?
FastReport .Net позволяет выделять данные цветом в зависимости от заданного условия. Яркий пример использования условного выделения – статистические данные в сводных таблицах (матрицах).
Создадим матричный отчет. Воспользуемся данными из базы nwind.xml, которая применяется в демонстрационных отчетах FastReport .NET. Используем таблицу MatrixDemo.
Получился вот такой простой шаблон:
Если запустить отчет, мы увидим сухую статистику по доходности компании, принесенной сотрудниками по месяцам. Но, допустим, мы хотим выделить ячейки с доходностью больше 3000р в месяц.
Выбираем ячейку [Revenue]. На панели инструментов нажимаем пиктограмму:
В появившемся окне можно создавать условия выделения и стиль текста или фона объекта.
Добавим условие Value > 3000. Цвет может быть и градиентным, и «стеклянным».
Можно добавлять сколь угодно много условий для одного объекта. Добавим еще одно: Value >1000.
Так как у нас уже два условия, нужно учитывать их порядок. Если переместить второе условие наверх, то желтыми будут ячейки как со значением >1000, так и со значением >3000. Это произойдет потому, что FastReport .NET отрабатывает условия по порядку, и, так как Value > 1000 охватывает и значения > 3000, второе условие не будет применяться. Учитывайте это при использовании нескольких условий для одного объекта. Теперь посмотрим на результат наших стараний:
Если вы хотите выделять цветом и колонки Total, придется добавить аналогичные условия для ячейки в этом столбце.
Итак, путем нехитрых манипуляций мы получили наглядную сводную таблицу, не требующую дальнейшего анализа с выделителем в руках.