Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Интеграция отчета и Windows-приложения

Поиск

Создайте в проекте новую форму и дайте ей имя FormReport. Свойству Text данной формы присвойте значение "Отчет". Для предварительного просмотра построенного отчета к форме потребуется добавить модуль просмотра Crystal Reports Viewer, в котором в качестве источника отчета (Report Source) следует указать проектируемый отчет.

Откройте файл формы FormReport.cs в режиме конструктора. Выберите форму и назначьте свойству Title (Заголовок) в окне свойств значение "Отчет".

Перетащите на форму элемент CrystalReportViewer из раздела CrystalReport окна инструментов Toolbox - (рисунок 13.10).

 

Рис. 13.10. Окно Toolbox c элементом CrystalReportViewer

 

Измените значение свойства привязки Dock (Стыковка) на Fill (Заполнить), чтобы модуль просмотра отчетов CrystalReportViewer заполнил всю страницу (рисунок 13.11). Можно также определить поля вокруг пристыкованного модуля просмотра, соответствующим образом установив набор свойств в группе DockPadding (Заполнение стыковки), в результате чего вокруг модуля просмотра появится заданное обрамление в виде пустого пространства.

Привязка созданного отчета к модулю просмотра отчетов осуществляется путем добавления к форме FormReport.cs компонента ReportDocument. Встраиваемые в приложение отчеты могут быть нетипизированные и строго типизированные.

 

Рис. 13.11. Внешний вид формы с модулем просмотра отчетов

 

Рис. 13.12. Окно Toolbox c элементом ReportDocument

 

В результате этих действий будет выведено диалоговое окно (рисунок 13.13), с выпадающим списком всех доступных отчетов, которые были добавлены в приложение. Необходимо выбрать отчет CryRepEmployee, что приведет к созданию документа строго типизированного отчета.

Рис. 13.13. Создание строго типизированного отчета с использованием окна выбора вида компонента ReportDocument

Подготовительные работы по созданию модуля отчета в проекте на этом закончены.

Теперь необходимо вызвать отчет при загрузке формы FormReport.

Для этого необходимо в классе FormReport объявить и создать объекты классов DataSetEmployee, EmployeeTableAdapter, JobTitleTableAdapter и создать метод EmployeeFill для заполнения данными объект DataSet из базы данных (см. лабораторную работу 9).

Далее необходимо при загрузке формы FormReport заполнить данными DataSet, задать источник данных для объекта crystalReportEmployee1 класса ReportDocument и источник отчета для объекта crystalReportViewer1 класса CrystalReportViewer. Код метода FormReport_Load приведен ниже.

private void FormReport_Load(object sender, EventArgs e){ EmployeeFill(); crystalReportEmployee1.SetDataSource(dsEmployee); crystalReportViewer1.Refresh(); crystalReportViewer1.ReportSource = crystalReportEmployee1;}

После запуска созданного приложения на выполнение и загрузки формы модуль просмотра Crystal Report Viewer формирует и отображает отчет, указанный в свойстве ReportSource.

Для подключения формы FormReport к приложению в меню формы FormEmployee необходимо к пункту меню "Отчет" добавить подпункт "По всем сотрудникам", которому присваивается имя reportToolStripMenuItem2 (рисунок 13.14).

 

Рис. 13.14. Добавление подпункта меню "По всем сотрудникам" формы FormEmployee

 

В текст программы класса FormEmployee.cs необходимо добавить код обработчика события, возникающего при выборе подпункта меню "По всем сотрудникам". По данному пункту меню должен быть создан объект класса FormReport и выведено окно на экран дисплея.

После трансляции и запуска программы на выполнение при выборе пункта меню Отчет | По всем сотрудникам будет сформирован отчет "Список сотрудников" аналогичный, приведенному на рисунке 13.15.

 

Рис. 13.15. Отчет "Список сотрудников"

 

Задание на лабораторную работу

  1. Изучить теоретический материал.
  2. Разработать отчет и интегрировать его с приложением.
  3. Протестировать работу приложения с отчетом.
  4. Продемонстрировать работу приложения преподавателю.


Поделиться:


Последнее изменение этой страницы: 2021-04-04; просмотров: 109; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.137.221.114 (0.006 с.)