Как фильтровать даты в отчете с помощью диалоговой формы

16.11.2019

Диалоговые формы в отчете главным образом нужны для фильтрации данных. Как правило на форме помещаются элементы управления, с помощью которых задаются значения. Затем, эти значения используются для дальнейшей фильтрации данных. Но большинство элементов управления позволяют фильтровать данные напрямую. То есть они могут быть связаны с источником данных с помощью свойства DataColumn. Значение элемента управления будет использовано для фильтрации. Также, есть еще одно свойство, которое задает само условие сравнения значения элемента управления с данными – FilterOperation. Это свойство позволяет сравнить на равенство, больше, меньше и сочетания этих вариантов.

Часто, нам требуется фильтровать данные по датам. Причем, обычно фильтруют по диапазону дат.

Давайте рассмотрим пример создания отчета с подобной фильтрацией. Добавим диалоговую форму в отчет:

 

На форме мы разместим два элемента управления DateTimePicker. Первый – для задания начала диапазона дат, второй – для конца.

Настроим свойства первого объекта DateTimePicker:

 

Здесь мы установили свойство Value для задания начала диапазона по умолчанию. Свойство DateColumn настроено на поле OrderDate таблицы Orders. А условие фильтрации – GreaterThanOrEqual. Это значит, что диапазон дат будет начинаться с указанной в элементе управления.

Для второго поля DateTimePicker задаем следующие свойства:

 

Значение по умолчанию оставим без изменений – текущая дата. Свойство DataColumn такое же, что и в первом DateTimePicker. А условие фильтрации – LessThanOrEqual, то есть меньше либо равное указанной дате.

Шаблон отчета может содержать указанное для фильтрации поле, а может и нет – не важно.

Еще до построения отчета данные будут отфильтрованы согласно заданному диапазону дат:

 

В итоге мы получим отчет с только необходимыми данными:

Как вы заметили, создание фильтра в диалоговой форме - дело одной минуты. Достаточно выбрать поле в источник данных и условие фильтрации. Всего два свойства – и вы у цели.

20 ноября 2024

Локализация и смена языков в FastReport VCL

FastReport VCL поддерживает 40 языков для локализации интерфейса и позволяет изменять язык на лету через меню или код, без перекомпиляции.
1 ноября 2024

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

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

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

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