Попередня сторінка Зміст Наступна сторінка Електронні посібники ВНТУ
ЛАБОРАТОРНА РОБОТА № 9
СТВОРЕННЯ ЗВІТНИХ ФОРМ В КЛІЄНТСЬКОМУ ДОДАТКУ
Мета роботи: навчитися створювати форми звітних документів за даними БД.
9.1 Пояснення до виконання роботи
Для виконання трьох перших завдань використовуємо приклад БД з назвою DB_Books, яка була створена в лабораторній роботі №6.
При виконанні прикладів і завдань звертайте увагу на відповідність назв БД, таблиць та інших об'єктів проекту.
Звіти багато в чому схожі на форми і теж дозволяють отримати результати роботи запитів в наочній формі, але тільки не на екрані, а в вигляді роздруківки на принтері. Таким чином, в результаті роботи звіту створюється паперовий документ.
На Visual C # 2005 є кілька способів створення звітів. Один із способів створення звітів це використання генератора звіту FastReport. Після встановлення генератора необхідно перезапустити Visual C # 2005. Потім необхідно додати компоненти FastReport як в лабораторній роботі № 8 в пункті 22.
Для створення звіту необхідно помістити компонент Report на головну форму. Після цього подвійним клацанням натиснути на компонент і вибрати дані, які нам потрібні для складання звіту. Після цього відкриється сам редактор звітів. Для збереження змін потрібно просто зберегти файл звіту в будь-якому місці.
Структура звіту
Звіти складаються з розділів або секцій (Bands), а розділи можуть містити елементи управління. Для налаштування розділів треба натиснути на робочій області на кнопку «Налаштувати бенди».
- Структура звіту складається з наступних розділів: заголовок звіту, підвал звіту, заголовок сторінки, підвал сторінки, область даних, заголовок колонки, підвал колонки, фоновий.
- Розділ заголовок звіту служить для друку загального заголовка звіту.
- Розділ заголовок сторінки можна використовувати для друку підзаголовків, якщо звіт має складну структуру і займає багато сторінок. Тут можна також розміщувати і номери сторінок, якщо це не зроблено в колонтитулі.
- В області даних розміщують елементи управління, пов'язані з вмістом полів таблиць бази. У ці елементи керування видаються дані з таблиць для друку на принтері. Ці розділи будуть друкуватися стільки разів, скільки записів є в зв’язному запиті або таблиці.
- Розділ підвал сторінки використовують для тих же цілей, що і розділ заголовок сторінки. Можна використовувати для підстановки полів для підписів посадових осіб, якщо є необхідність підписувати звіт на кожній сторінці.
- Розділи колонок використовують для розміщення додаткової інформації або підсумкової інформації за всіма даними звіту. Друкується зверху чи знизу області даних.
- Для попереднього перегляду звіту в тому вигляді, як він буде розташований на папері, необхідно викликати метод Show компонента Report (На головній формі в меню додати розділ і в методі Click написати цей метод, наприклад Report1.Show ()). Приклад звіту в режимі «конструктор» наведено на рис. 9.1, а в режимі попереднього перегляду – на рис. 9.2.
Завдання 1. Створення звіту в табличній формі, який вибирає з таблиці Books всі поля, крім кодів, з таблиці Publish_house – назви видавництв і місце видавництва, з таблиці Authors – ім'я автора.
1. У проекті на головній формі в меню додати пункт меню Звіти, а також підпункти:
Звіт в табличній формі;
Звіт у вільній формі;
Звіт по двох таблицях.
2. У проекті на головну форму додати 3 компонента Report
3. У першого компонента Report змінити DataSet (стрілка на компоненті Task -> Select DataSet) на відповідні дані, які необхідні для звіту. Відкрити вікно дизайну звіту (подвійним клацанням по компоненті).
4. У властивостях включити такі розділи (налаштувати бенди), як заголовок звіту, заголовок даних, дані.
5. У розділі заголовок звіту розмістити мітку (компонент Текст). У властивостях змінити його зовнішній вигляд і підпис «Приклад табличного звіту».
6. У розділі заголовок даних встановити компонент Таблиця (для імітації обрамлення шапки таблиці) і написати в ній - Назва книги, Автор, Видавництво.
7. На розділ дані перетягнути об'єкти з панелі дані наступним чином:
Джерела даних -> Books -> title_book
Джерела даних -> Books -> Autors -> name_autor
Джерела даних -> Books -> Publishing_house -> publish
Розташувати компоненти симетрично під написами в таблиці.
8. У головній формі програми в підпункті Звіт в табличній формі в методі Click написати команду: Report1.Show ().
9. Запустити програму, перевірити роботу.
Завдання 2. Створення звіту у вільній формі з даними з першого завдання. Створимо картку книги для бібліотечної картотеки.
Особливість звіту у вільній формі в тому, що він створює шаблон на кожний окремий запис таблиці, іншими словами, він створюється за документам, у яких немає шапки і приміток. Прикладом таких документів може служити прибутковий або видатковий касовий ордер, етикетка для товару або цінник в магазині, лист-запрошення і т.д.
1. У другому компоненті Report встановити властивості DataSet на необхідні. У властивостях (налаштувати бенди) включити розділ дані.
2. На розділ дані перетягнути об'єкти з панелі дані наступним чином:
Джерела даних -> Books -> title_book
Джерела даних -> Autors -> name_autor
Джерела даних -> Publishing_house -> publish
3. У головній формі програми в підпункті Звіт у вільній формі в методі Click написати команду: Report2.Show ().
4. Запустити програму, перевірити роботу.
Завдання 3. Створення звіту за двома таблицями. Створимо звіт, в якому спочатку будуть виводитися дані автора книги з таблиці Authors, а потім список книг, які написав цей автор.
1. У третьому компоненті Report встановити властивості DataSet на необхідні. У властивостях (налаштувати бенди) включити розділи: заголовок звіту, дані.
2. У розділі заголовок звіту розмістити мітку (компонент Текст). У властивостях змінити її зовнішній вигляд і підпис «Звіт по авторам і написаним книгам».
3. Викликати майстер угрупування. Панель Звіт -> Майстер угрупування. В якості умови угруповання вказати поле, по якому буде здійснюватися угрупування даних: Autors -> name_autor. Натиснути Додати.
4. В результаті отримаємо «бенди»: Тема групи (містить ім'я автора), Дані, Підвал групи. На розділ дані перетягнути об'єкти з панелі дані наступним чином:
Джерела даних -> Autors -> Books -> title_book.
Приклад наведено на рис. 9.3.
5. У головній формі програми в підпункті Звіт по двох таблицях в методі Click написати команду: Report3.Show ().
6. Запустити програму, перевірити роботу.
9.3 Завдання до лабораторної роботи
За індивідуальною БД, яка видана за варіантами (з лабораторної роботи №6) зробити в клієнтському додатку чотири звіти, які будуть запускатися через меню головної форми:
- Звіт в табличній формі по одному з довідників, причому в розділі «Примітка» вивести підсумкову кількість записів в звіті;
- Звіт у вільній формі. Виберіть одну з таблиць, по якій можна зробити або бейдж, або цінник, або запрошення. При створенні звіту використовуйте рисунок як підкладку;
- Звіт за запитом. З'єднайте дані всіх трьох таблиць, кодові поля в запит не пишіть. Створіть звіт в табличній формі з підсумковим полем в розділі «Примітка» (це може бути сума або кількість і т.п., в залежності від вмісту запитів). Кожен рядок в звіті повинен мати номер по порядку. Наприклад:
1) Крупа 10 кг
2) Борошно 20 кг
і т. д.;
- Звіт по декількох таблицях. Виберіть одну пару пов'язаних таблиць, визначте головну і залежну таблиці і зробіть звіт в табличній формі, в якому дані з головної таблиці розшифровуються (доповнюються) даними з залежної таблиці.
9.4 Контрольні запитання
- Які способи створення звітів Вам відомі?
- Які генератори звітів у Microsoft Visual C# 2005 при створенні звітів Ви використовували?
- Особливості генератора звітів FastReport.
- Елементи звіту у FastReport. Перелічіть типи бендів.
- Назвіть об’єкти, які можна використовувати у звіті генератора звітів FastReport.