|
|||
ГЕНЕРАЦИЯ ОТЧЕТОВ И ПЕЧАТНЫХ ФОРМ2.9. ГЕНЕРАЦИЯ ОТЧЕТОВ И ПЕЧАТНЫХ ФОРМ
Помимо форм для представления и редактирования информации из базы данных пользователю часто требуется создавать печатные формы, представляющие результаты выполнения сложных запросов. Такие печатные формы принято называть отчетами. Для формирования отчетов в среде Visual Studio существует специальный элемент управления, который называется ReportView. Существуют и более сложные дополнительные утилиты (например, не так давно была популярна условно бесплатная утилита CrystalReports). Для добавления в проект отчета требуется установить на форму элемент управления ReportView. Далее с помощью конструктора можно сгенерировать новый вид отчета, который будет сохранен в файле с расширением rdlc.
Рис. 45. Вызов конструктора отчета.
Конструктор позволит настроить источники данных, сгенерировать расположение элементов на отчете, задать стилевые и другие характеристики.
Рис. 46. Вид сгенерированного шаблона отчета.
В сгенерированный отчет можно вносить изменения – добавлять поля, элементы управления, менять стилевые назначения и пр. Для использования и показа отчета в элементе управления ReportViewer достаточно сделать несколько простых настроек в программном коде: // указание источника данных для отчета – таблица студентов, // загруженная в набор данных DataSet ReportDataSource datasource = new ReportDataSource("DataSet1", ds.Tables["Students"]); // настройка на локальный отчет reportViewer1.ProcessingMode = ProcessingMode.Local; // очистка старого источника данных отчета из элемента ReportViewer reportViewer1.LocalReport.DataSources.Clear(); // настройка пути к файлу с отчетом (.rdlc) reportViewer1.LocalReport.ReportPath = "../../Report1.rdlc"; // добавление источника данных (таблицы из набора данных) к отчету reportViewer1.LocalReport.DataSources.Add(datasource); // обновление содержимого элемента ReportViewer reportViewer1.RefreshReport();
Результат внедрения в элемент управления отчета может выглядеть следующим образом:
Рис. 47. Вид сгенерированного отчета.
|
|||
|