Пример 2. Построение детального отчета |
Top Previous Next |
В этом примере мы построим отчет - список категорий продуктов. При щелчке на названии категории будет показан детальный отчет - список продуктов в данной категории.
Вам необходимо сделать следующее:
Сначала займемся созданием детального отчета, который печатает список продуктов. Для этого создадим новый отчет и выберем для него источник данных - таблицу Products. Расположим объекты следующим образом:
Для идентификации категории проще всего использовать значение поля CategoryID, которое имеется в обеих таблицах - Categories и Products. Создадим параметр отчета, с помощью которого будет передаваться выбранная категория. Настроим его следующим образом:
Теперь нужно указать условие фильтрации, с помощью которого будут отобраны все продукты, относящиеся к выбранной категории. Для этого сделайте двойной щелчок на бэнде "Данные" и на закладке "Фильтр" укажите следующее условие (его можно построить визуально, нажав кнопку "fx" в правой части строки ввода):
На этом создание детального отчета завершено.
Приступим к созданию основного отчета. Для этого создайте новый отчет и выберите для него источник данных - Categories. Расположите объекты следующим образом:
Щелкните правой кнопкой мыши на объекте "Текст" и выберите пункт меню "Гиперссылка...". Настройте ссылку следующим образом:
Как видно на рисунке, в качестве отчета надо выбрать имя файла с детальным отчетом. Параметр отчета можно выбрать из выпадающего списка, нажав кнопку в правой части списка. В качестве значения параметра укажем поле CategoryID таблицы Categories.
На этом построение отчета завершено. Запустите отчет, и вы увидите список категорий:
Если щелкнуть на одной из категорий, будет построен детальный отчет. Он будет показан на отдельной закладке окна просмотра:
Как видно на рисунке, в качестве текста закладки используется значение, передаваемое в параметр детального отчета. В нашем случае это поле CategoryID числового типа. Это выглядит неинформативно и некрасиво. Можно переделать наш отчет так, чтобы передавалось название категории. Для этого сделайте следующее:
В детальном отчете:
[Products.Categories.CategoryName] == [SelectedCategory]
В основном отчете:
Если запустить отчет теперь, мы увидим, что закладка детального отчета имеет текст с названием категории, а не ее идентификатором. Теперь в детальный отчет можно добавить объект "Текст", который будет печатать название выбранной категории в заголовке отчета:
В процессе работы над этим примером нам пришлось создать два отчета и переключаться между ними несколько раз. Это не очень удобно. Для того чтобы облегчить задачу, можно разместить два отчета в одном: основной отчет будет содержаться на первой странице, детальный - на второй. В этом случае гиперссылку надо настроить следующим образом:
В данном случае надо выбрать страницу отчета, на которой содержатся объекты детального отчета, а именно - Page2.
|