Лабораторная работа №3. Генерация отчетов с помощью Crystal Reports
Цель работы
Целью работы является изучение основных работы генератора отчетов Crystal Reports.
Порядок выполнения работы
Выполните команду меню Project -> Add New Item…, в открывшемся окне выберите пункт Crystal Report. Таким образом в проект будет добавлен шаблон отчета (файл CrystalReport1.rpt). В открывшемся окне Crystal Reports Gallery выберите переключатель As a Blank Report, т.е. отчет будет проектироваться нами вручную.
Чтобы присоединить отчет к источнику данных и настроить его, выполните следующие действия:
- перейдите в графический режим дизанера отчетов Report Designer и выполните команду контекстного меню Database/Database Expert;
- раскройте узел Project Data и поместите в правый список требуемую таблицу, например, таблицу Phones (рис. 3.1);
- в панели Field Explorer выберите нужные поля таблицы и перенесите их в секцию Details формы отчета. Заголовки полей при этой появляются в секции Page Header автоматически.
В секцию Report Header добавьте поле Report Title (заголовок отчета) из раздела Special Fields панели Field Explorer. При необходимости можно настроить стиль и шрифт данного поля. Текст заголовка отчета можно ввести, выбрав из контекстного меню пункт Report -> Summary Info… в строке Title (рис. 3.2).
Рисунок 3.1 – Выбор таблицы для генерации отчета
Рисунок 3.2 – Настройка названия отчета
Для предварительного просмотра внешнего вида отчета можно использовать вкладку Main Report Preview в нижней части окна дизайнера отчета.
Для отображения отчета на экране добавьте в проект новую форму Form2 (пункт меню Project -> Add Windows Form…).
Поскольку для генерации отчета будут использоваться компоненты для доступа к БД, расположенные на главной форме, необходимо каким-то образом связать форму Form2 с главной формой программы. Для этого в классе формы Form2 опишите переменную следующего вида:
public Form1 MF;
Чтобы компонент DataSet (на главной форме) нашего приложения был доступен всем формам программы, установите его свойство Modifiers в значение Public.
Для отображения отчета на форме Form2 будет использоваться компонент CrystalReportViewer. Поместите его на данную форму.
Для работы с компонентами Crystal Reports следует подключить соответствующие пространства имен:
using CrystalDecisions.Shared;
using CrystalDecisions.CrystalReports.Engine;
using CrystalDecisions.Windows.Forms;
При загрузке формы отчета нужно создать объект отчета ReportDocument и загрузить в него созданный шаблон отчета CrystalReport1.rpt. Таким образом, в обработчике события Load формы отчета должен находиться следующий код: