Работа с Crystal Report NET

         

Подключение отчета через объектную модель пространства CrystalDecisions.Web


В качестве отклика на нажатие мыши кнопки btnFile введем следующую функцию:

Private Sub btnFile_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles

btnFile.Click

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"))     crDataBase.ReportSource = rDoc

    tbs = rDoc.Database.Tables     tb = tbs(0)     log = tb.LogOnInfo     log.ConnectionInfo = ci

    tb.ApplyLogOnInfo(log)     crDataBase.DataBind()     crDataBase.Visible = True

End Sub

Данная функция по имени файла загружает отчет в объект crDataBase. Отличие от предыдущего пример состоит в том, что у объекта crDataBase отключена возможность отображения результатов выборки по страницам.

Для этого в панели инструментов Propertires объекта crDataBase установим поля DisplayGroupTree, DisplayToolBar,EnableDrillDown,SeparatePages   в false.



  Значения полей следующие

DisplayGroupTree

Включает\выключает отображение дерева детализации выборки

DisplayToolBar

Включает\выключает отображение панели инструментов отчета

EnableDrillDown

Включает\выключает возможность детализации отчета

SeparatePages

Включает\выключает разбиение на страницы отчета

В качестве отклика на нажатие мыши кнопки btnEngine введем следующую функцию:

Private Sub

btnEngine_Click(ByVal sender As

System.Object, ByVal e As

System.EventArgs) Handles btnEngine.Click

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 connectDatabase

tbs = rDoc.Database.Tables tb = tbs(0) log = tb.LogOnInfo log.ConnectionInfo = ci tb.ApplyLogOnInfo(log)

crDataBase.ReportSource = rDoc crDataBase.DataBind() crDataBase.Visible = True

End Sub

Единственное отличие в данном примере вышеуказанного метода подключения состоит в методе инициализации объекта отчета

Dim rDoc As New connectDatabase

tbs = rDoc.Database.Tables

В данном случае документ отчета инициализируется объектом класса connectionDatabase, имя которого совпадает с именем файла отчета.



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