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

16.11.2019

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

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

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

 

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

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

 

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

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

 

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

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

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

 

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

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

.NET FastReport Фильтрация .NET FastReport Фильтрация
3 июня 2025

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

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

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

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

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

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