Подключение отчета через объектную модель пространства 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.
Значения полей следующие | ||
В качестве отклика на нажатие мыши кнопки 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, имя которого совпадает с именем файла отчета.