Работа с Crystal Report NET

       

Подключение к базе данных с постраничным выводом запроса


Для создания нового файла отчета необходимо выбрать в Solution Explorer щелкнуть правой клавишей мыши на узле проекта и выбрать следующий пункт меню – Add -> Add New Item и ввести в качестве имени файла connectDatabase.rpt.

После добавления файла отчета откройте его в среде.

На следующем шаге необходимо добавить подключение к базе данных, откуда отчет будет брать данные.

В качестве источника данных будем использовать Microsoft OLE DB Provider for SQL Server.

Щелкните правой клавишей мыши на поле отчета и выберите Database -> Add\Remove Database -> OLDE DB (ADO). При раскрытии этого узла появиться мастер для подключения базы данных SQL сервера. Заполните все необходимые поля, и убедитесь, что в блоке Available Data Sources стало доступно подключение к учебной базе NorthWind вашего сервера .

В качестве источников данных перенесите в блок Selected Tables таблицу Customers.

Теперь к нашему отчету подключена таблица Customers учебной базы NorthWind.

Теперь добавим поля таблицы Customers к нашему отчету.

Для этого щелкнем правой клавишей мыши на поле отчета и выберем Report -> Report Expert. Далее следуем указаниям мастера:

Закладка Data – в блоке Tables in report оставим Customers

Закладка Fields - в поле Fields to Display добавим поля Customers.CompanyName, Customers.ContactName, Customers.ContactTitle, Customers.Adress, Customers.City, Customers.Region, Customers.PostalCode, Customers.Country, Customers.Phone, Customers.Fax.

Закладка Group – в блок Group By добавим Customers.CompanyName

Закладка Style – укажем стиль Drop Table.

Теперь наш отчет готов к выполнению.

Далее создадим страницу для отображения отчета. Для этого

добавим в проект новую aspx страницу connect_to_db_padding.aspx

на форму из панели инструментов Web forms добавим компоненту CrystalReportViewer.

Для этого элемента выполним следующие настройки:

свойство ID=crPaging

свойство DysplayGroupTree = False

свойство EnableDrillDown= False.

Для вызова созданного нами отчета необходимо в метод Page_Init нашей страницы добавить инициализацию компоненты crPaging. Так как наш отчет ображается к базе MS SQL Server, требующий авторизации подключений, то так же необходимо обеспечить авторизацию на SQL Server’е.

Для этого после вызова метода InitializeComponent() введем следующий код:


Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init

    'CODEGEN: This method call is required by the Web Form Designer     'Do not modify it using the code editor.

   InitializeComponent()    Dim log As New TableLogOnInfo    Dim ci As New ConnectionInfo     ci.ServerName = ConfigurationSettings.AppSettings("server")     ci.DatabaseName = ConfigurationSettings.AppSettings("database")     ci.UserID = ConfigurationSettings.AppSettings("user")     ci.Password = ConfigurationSettings.AppSettings("password")     log.ConnectionInfo = ci   

   Dim tbs As Tables     Dim tb As

Engine.Table    Dim rDoc As New ReportDocument     rDoc.Load(Server.MapPath("reports\connectDatabase.rpt"))     crPaging.ReportSource = rDoc         tbs = rDoc.Database.Tables     tb = tbs(0)     log = tb.LogOnInfo     log.ConnectionInfo = ci     tb.ApplyLogOnInfo(log)     crPaging.DataBind()

End Sub

В этом коде мы создаем объекты типа TableLogOnInfo и ConnectionInfo, инициализируем их параметрами подключения к базе данных, которые мы описали в файле web.config.

После этого загружаем в объект типа ReportDocument наш отчет, и присваиваем его в качестве источника данных для объекта CrystalReportViewer.

Так как у нас в документе отчета только одна таблица, то для нее мы присваиваем параметры подключения, сохраненные нами в объектах типа TableLogOnInfo и ConnectionInfo. Примерный вид отчета приведен ниже.




Содержание раздела