![]() | ||||||||||||||||||||||||||||||
![]() |
![]() |
|
|
|||||||||||||||||||||||||||
![]() |
|
Система Crystal Reports и службы Reporting ServicesИсточник: c-sharpcorner
Автор: Валерий Зайцев ©Воспроизведение и распространение данной статьи возможно при условии установки прямой ссылки на данный портал ВведениеЦель данной статьи - проиллюстрировать и рассмотреть процесс разработки отчетов с помощью системы Crystal Reports (CR) и служб Reporting Services (RS). Несмотря на то, что CR и RS представляют собой две различные технологии, результат их использования один и тот же: отчет. В статье одновременно выполняется сравнение и рассматривается разработка отчетов CR и RS. Необходимо отметить, что в то время как отчеты Crystal Report - наиболее часто используемый инструментарий для создания отчетов общего назначения, службы Reporting Services гораздо проще в использовании, потому что можно иметь и график, и таблицу в одном и том же разделе отчета. Разработка отчетов с помощью системы Crystal Reports и служб Reporting ServicesПусть необходимо разработать отчет о прибыльности продуктов, который отображает сведения о продуктах (себестоимость, цена и прибыль), хранящиеся в таблице Production.Product в базе данных AdventureWorks. В распечатке 1 показан исходный SQL-запрос. select ProductID, [Name], [ProductNumber], StandardCost, ListPrice, ListPrice-StandardCost as Profit Распечатка 1 Откройте приложение Visual Studio.NET и создайте проект Windows application с именем. Согласно принципу "модель-вид-контроллер" (MVC) в архитектуре решений, следует добавить библиотеку классов, в которой будут постоянно храниться компоненты уровня доступа к данным. Пройдите по пути File / New / Project из главного меню и добавьте к рассматриваемому решению новый проект Class Library. ![]() Рис. 1 Далее добавьте в этот проект Class Library набор данных dataset со строгим контролем типов, представляющий собой набор результатов запроса для отчета (см. рис. 2). ![]() Рис. 2 Теперь добавьте адаптер таблицы и таблицу с основными данными, соответствующими запросу из распечатки 1 с помощью мастера конфигурации TableAdapter Configuration Wizard (см. рис. 3). ![]() Рис. 3 Далее, получив, таким образом, компонент уровня доступа к данным, следует перейти к уровню представления данных. Добавьте две формы Windows Form: одну для отображения отчета CR и еще одну - для отображения отчета RS. Затем добавьте в форму для RS элемент управления ReportViewer, перетащив Data/Report Viewer из окна Toolbox в область разработки, и затем закрепите его в форме (см. рис. 4). Аналогично добавьте в форму для CR элемент управления CrystalReportViewer, перетащив Crystal Reports/CrystalReportViewer из окна Toolbox в область разработки, и затем закрепите его в форме (см. рис. 5). ![]() Рис. 4 ![]() Рис. 5
Далее следует разработка формата отчета. В отчете будут показаны названия отчета и компании в разделе заголовка отчета и список товарных позиций (в разделе данных). Сначала добавьте отчет RS, щелкнув правой кнопкой мыши проект Windows в проводнике решений Solution Explorer и выбрав Add / New Item, а затем выберите Report в диалоговом окне Add New Item (см. рис. 6). ![]() Рис. 6 В отчете RS верхний и нижний колонтитул по умолчанию не видны. Поэтому выберите Report/Page Header в главном меню, чтобы сделать видимым верхний колонтитул отчета RS. Добавьте из окна Toolbox два элемента управления Textbox в верхний колонтитул и элемент управления Table в раздел заготовка. Настройте таблицу таким образом, чтобы она содержала шесть столбцов, по столбцу таблицы для каждого из столбцов данных. Затем добавьте к таблице поле данных, необходимое для ссылки на определение класса набора данных ProductProfitability. Перейдите в окно Data Sources и добавьте новый источник данных объекта, который ссылается на класс набора данных ProductProfitability (см. рис. 7). ![]() Рис. 7
Теперь можно перетащить поле данных из определения класса набора данных ProductProfitability в окно Data Sources в отчете (см. рис. 8). ![]() Рис. 8 Далее добавляются поля в раздел Table Details и форматируется шрифт заголовка Table Header как полужирный и подчеркнутый (см. рис. 9). ![]() Рис. 9
Теперь добавляется отчет CR. В проводнике решений Solution Explorer выберите проект Windows, щелкните его правой кнопкой мыши и выберите Add/New Item, затем выберите в диалоговом окне Add New Item (см. рис. 10). ![]() Рис. 10 После добавления отчета CR появится диалоговое окно Crystal Reports Gallery. Затем выберите параметр As a Blank Report. Появится новое окно Toolbox с именем Field Explorer, в котором отображаются сведения, доступные для разработки отчета CR. При сравнении обоих отчетов обнаруживается, что отчеты RS изначально представляют собой свободную форму, в которую можно добавлять необходимые разделы. В отчете CR по умолчанию будут присутствовать верхние и нижние колонтитулы, даже если они не нужны. Необходимо отметить, что отчет CR имеет два набора верхних и нижних колонтитулов: один набор - для страницы, и другой - для отчета в целом. Нет необходимости добавлять в отчет верхний или нижний колонтитул, следовательно, перетащите два элемента Textbox из окна Toolbox в область разработки заголовка отчета. Далее работа продолжится в разделе данных (теле) отчета CR. В отчете CR необходимо сослаться на источники данных, или, конкретно, на набор данных со строгим контролем типа. Данный шаг очень прост, достаточно щелкнуть правой кнопкой мыши внутри любого раздела и выбрать Database / Database Expert. Затем появится диалоговое окно Database Expert. Необходимо развернуть узел Create a New Connection / ADO.NET, появится новое диалоговое окно ADO.NET. Перейдите в местоположение, в котором хранится определение набора данных со строгим контролем типов (внутри проекта Class Library, см. рис. 11). ![]() Рис. 11
Затем щелкните кнопку Finish в диалоговом окне ADO.NET (см. рис. 12). ![]() Рис. 12 После этого в диалоговом окне Database Expert выберите набор данных, чтобы вновь сослаться на него (см. рис. 13). ![]() Рис. 13 Далее, также очень просто, поля для новой ссылки отображаются в раздел данных. Перетащите поля из окна Field Explorer в раздел данных отчета. Сразу после этой операции в разделе верхнего колонтитула автоматически появится соответствующий заголовок столбца (см. рис. 14). ![]() Рис. 14 Теперь необходимо настроить средство просмотра Report Viewer, чтобы связать источник основных данных с определениями отчетов. Сначала - отчеты RS. В данном случае это очень просто. Откройте окно RS Form и щелкните контекстную метку элемента управления ReportViewer, чтобы выбрать отчет RS и связать источник данных отчета со своим источником прикладных данных. После выбора определения отчета RS с помощью VS.NET в области разработки Windows Form с помощью VS.NET также добавляется исходный объект для связывания. Затем добавьте в область разработки экземпляр набора данных со строгим контролем типов ProductProfitabilityDS и экземпляр адаптера таблицы ProductProfitabilityTableAdapter из окна Toolbox (см. рис. 15). ![]() Рис. 15 Наконец, сделайте ссылку на прежний набор данных из исходного объекта для связывания (см. рис. 16). ![]() Рис. 16 Последний шаг - заполнение данными экземпляра набора данных со строгим контролем типов ProductProfitabilityDS. Далее настраивается элемент управления CrystalReportViewer. Откройте окно CR Form и щелкните контекстную метку элемента управления CrystalReportViewer, после чего выберите параметр Choose a Crystal Report (см. рис. 17). ![]() Рис. 17 После этого к области разработки добавляется новый объект ReportDocument. Затем добавьте в область разработки экземпляр набора данных со строгим контролем типов ProductProfitabilityDS и экземпляр адаптера таблицы ProductProfitabilityTableAdapter из окна Toolbox (см. рис. 18). ![]() Рис. 18 Последний шаг - заполнение данными экземпляра набора данных со строгим контролем типов ProductProfitabilityDS и связывание получившегося источника данных с экземпляром ReportDocument (см. листинг 2). this.productProfitabilityTableAdapter1.Fill(this.productProfitabilityDS1.ProductProfitability); Заключение В данной статье рассмотрены две самые распространенные методики создания отчетов на основе платформы .NET. Создан простой отчет и объяснены основные шаги, позволившие добиться этого с помощью системы Crystal Reports и служб Reporting Services. Ссылки по теме
|
|