На прошлом уроке мы рассматривали создание простейшего отчета FastReport, содержащего реестр клиентов. А сегодня, в рамках развития данного отчета, мы рассмотрим, как создавать и использовать диалоговое окно с параметрами отбора данных для SQL-запроса.

Для начала создадим пустое диалоговое окно, нажав на кнопку в верхней части дизайнера отчетов. На Рис.1. кнопка помечена желтым цветом

Рис. 1.

 

Так же  создать диалоговое окно можно и при помощи клика правой кнопкой мыши по закладкам проекта.

Таким образом, мы получаем пустое диалоговое окно (Рис. 2.). Заметьте, что панель компонентов в левой части экрана изменилась – теперь нам предложен набор визуальных компонентов для создания диалога.

Рис. 2. 

 

Далее разместим на диалоговом окне компоненты для ввода данных. К примеру, мы хотим ограничить условие отбора клиентов по типу клиента (Физические/Юридические/ИП/Все) и по дате заведения клиента в ЦАБС. Тогда нам понадобятся элементы управления ComboBox и DateEdit. Для создания подписей к элементам управления используем компонент Label ("А"). Подтверждать выбор ограничений будем по кнопке «ОК» - элемент управления Button. Разместим их на нашем окне диалога. (Рис. 3.)

Рис. 3.

 

Далее приведем наши компоненты к виду, понятному для конечного пользователя. Для компонентов Label зададим текст подписи (свойство Caption), для компонента ComboBox – значения выпадающего списка (свойство Items), для кнопки – подпись (свойство Caption) (Рис. 4.)

Рис. 4.

 

Кроме того, установим свойство элемента ComboBox ItemIndex равным 3 (что соответствует элементу списка «Все», не забываем, что элементы списка нумеруются с 0) – это будет значение по умолчанию, а для кнопки зададим значения свойств Default = true и ModalResult = mrOk (первое отвечает за реакцию на клавишу Enter в любом поле диалогового окна – будет срабатывать наша кнопка; второе – результат нажатия на кнопку).

С внешним видом закончили – теперь необходимо сделать обработку введенных данных и передачу их в наш запрос по отбору клиентов в список.

Первым этапом введем в код нашего отчета переменные ct и cd – тип и дата заведения клиента.

В тексте обработки нажатия кнопки заполним значения этих переменных исходя из данных диалогового окна (Рис. 5.)

Рис. 5.

 

Далее изменим текст запроса, добавив в его условие переменные cus_type и cus_date, привязав к ним переменные из кода отчета. (Рис. 6.)

Рис. 6.

 

Теперь при вызове отчета на печать мы получаем следующий диалог (Рис. 7.)

Рис. 7.

 

Если мы выберем тип клиентов «Физические» и зададим дату создания с 12.03.2014г. (Рис 8.) 

Рис. 8.

 

То результатом работы нашего отчета будет следующий список клиентов (Рис. 9.)

 

В нашей следующей статье мы рассмотрим детализацию нашего списка данными из другой таблицы – таблицы счетов (Master-Detail).
Перейти к уроку №4. 

Узнать дополнительную информацию о функционале генератора отчетов FastReport, а так же задать интересующие вас вопросы, Вы всегда можете, обратившись в службу технической поддержки компании Этот адрес электронной почты защищен от спам-ботов. У вас должен быть включен JavaScript для просмотра.