Попередня сторінка              Зміст                Наступна сторінка               Електронні посібники ВНТУ

 

 

ЛАБОРАТОРНА РОБОТА № 9
СТВОРЕННЯ ЗВІТНИХ ФОРМ В КЛІЄНТСЬКОМУ ДОДАТКУ

 

Мета роботи: навчитися створювати форми звітних документів за даними БД.

 

9.1 Пояснення до виконання роботи

 

Для виконання трьох перших завдань використовуємо приклад БД з назвою DB_Books, яка була створена в лабораторній роботі №6.

При виконанні прикладів і завдань звертайте увагу на відповідність назв БД, таблиць та інших об'єктів проекту.

Звіти багато в чому схожі на форми і теж дозволяють отримати результати роботи запитів в наочній формі, але тільки не на екрані, а в вигляді роздруківки на принтері. Таким чином, в результаті роботи звіту створюється паперовий документ.

На Visual C # 2005 є кілька способів створення звітів. Один із способів створення звітів це використання генератора звіту FastReport. Після встановлення генератора необхідно перезапустити Visual C # 2005. Потім необхідно додати компоненти FastReport як в лабораторній роботі № 8 в пункті 22.

Для створення звіту необхідно помістити компонент Report на головну форму. Після цього подвійним клацанням натиснути на компонент і вибрати дані, які нам потрібні для складання звіту. Після цього відкриється сам редактор звітів. Для збереження змін потрібно просто зберегти файл звіту в будь-якому місці.

Структура звіту

Звіти складаються з розділів або секцій (Bands), а розділи можуть містити елементи управління. Для налаштування розділів треба натиснути на робочій області на кнопку «Налаштувати бенди».

  1. Структура звіту складається з наступних розділів: заголовок звіту, підвал звіту, заголовок сторінки, підвал сторінки, область даних, заголовок колонки, підвал колонки, фоновий.
  2. Розділ заголовок звіту служить для друку загального заголовка звіту.
  3. Розділ заголовок сторінки можна використовувати для друку підзаголовків, якщо звіт має складну структуру і займає багато сторінок. Тут можна також розміщувати і номери сторінок, якщо це не зроблено в колонтитулі.
  4. В області даних розміщують елементи управління, пов'язані з вмістом полів таблиць бази. У ці елементи керування видаються дані з таблиць для друку на принтері. Ці розділи будуть друкуватися стільки разів, скільки записів є в зв’язному запиті або таблиці.
  5. Розділ підвал сторінки використовують для тих же цілей, що і розділ заголовок сторінки. Можна використовувати для підстановки полів для підписів посадових осіб, якщо є необхідність підписувати звіт на кожній сторінці.
  6. Розділи колонок використовують для розміщення додаткової інформації або підсумкової інформації за всіма даними звіту. Друкується зверху чи знизу області даних.
  7. Для попереднього перегляду звіту в тому вигляді, як він буде розташований на папері, необхідно викликати метод Show компонента Report (На головній формі в меню додати розділ і в методі Click написати цей метод, наприклад Report1.Show ()). Приклад звіту в режимі «конструктор» наведено на рис. 9.1, а в режимі попереднього перегляду – на рис. 9.2.

 

Рисунок 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.

 

Рисунок 9.3 – Приклад звіту

 

5. У головній формі програми в підпункті Звіт по двох таблицях в методі Click написати команду: Report3.Show ().

6. Запустити програму, перевірити роботу.

 

9.3 Завдання до лабораторної роботи

 

За індивідуальною БД, яка видана за варіантами (з лабораторної роботи №6) зробити в клієнтському додатку чотири звіти, які будуть запускатися через меню головної форми:

- Звіт в табличній формі по одному з довідників, причому в розділі «Примітка» вивести підсумкову кількість записів в звіті;

- Звіт у вільній формі. Виберіть одну з таблиць, по якій можна зробити або бейдж, або цінник, або запрошення. При створенні звіту використовуйте рисунок як підкладку;

- Звіт за запитом. З'єднайте дані всіх трьох таблиць, кодові поля в запит не пишіть. Створіть звіт в табличній формі з підсумковим полем в розділі «Примітка» (це може бути сума або кількість і т.п., в залежності від вмісту запитів). Кожен рядок в звіті повинен мати номер по порядку. Наприклад:

1) Крупа 10 кг

2) Борошно 20 кг

і т. д.;

- Звіт по декількох таблицях. Виберіть одну пару пов'язаних таблиць, визначте головну і залежну таблиці і зробіть звіт в табличній формі, в якому дані з головної таблиці розшифровуються (доповнюються) даними з залежної таблиці.

 

9.4 Контрольні запитання

 

  1. Які способи створення звітів Вам відомі?
  2. Які генератори звітів у  Microsoft Visual C# 2005 при створенні звітів Ви використовували?
  3. Особливості генератора звітів FastReport.
  4. Елементи звіту у FastReport. Перелічіть типи бендів.
  5. Назвіть об’єкти, які можна використовувати у звіті генератора звітів FastReport.