我目前使用水晶报表XI和VB studio 2005.我正面临着通过winform将参数传递给报表的问题。下面是我的代码:Crystal Reports:通过winform传递参数VB.Net
在我的报告形式,其中晶体控制所在:
Public Sub DisplayReport(ByVal formTitle As String)
Dim myConnectionInfo As ConnectionInfo = New ConnectionInfo()
myConnectionInfo.UserID = ""
myConnectionInfo.Password = ""
SetDBLogonForReport(myConnectionInfo, rptDoc)
Me.Text = formTitle
CrystalReportViewer1.ReportSource = rptDoc
CrystalReportViewer1.RefreshReport()
End Sub
Private Sub SetDBLogonForReport(ByVal myConnectionInfo As ConnectionInfo, ByVal myReportDocument As ReportDocument)
Dim myTables As Tables = myReportDocument.Database.Tables
For Each myTable As CrystalDecisions.CrystalReports.Engine.Table In myTables
Dim myTableLogonInfo As TableLogOnInfo = myTable.LogOnInfo
myTableLogonInfo.ConnectionInfo = myConnectionInfo
myTable.ApplyLogOnInfo(myTableLogonInfo)
Next
End Sub
在我打印报表,我所说的报表:
Private Sub ConfigureCrystalReport(ByVal btnPrint As Boolean)
Dim myRptView As New frmReportView
Dim rptFile As String = ""
Dim strSelFormula As String = ""
'getting report path dynamically
Dim rptPath1 As New getAppDBSettingsBLL
rptPath1 = New getAppDBSettingsBLL
Dim rptPath As String = rptPath1.getReportPath(4)
rptFile = rptPath & "\" & "XXX.rpt"
myRptView = New frmReportView
rptDoc.Load(rptFile)
myRptView.DisplayReport(Me.Text)
rptDoc.SetParameterValue("@dateA", Format(Me.DateTimePicker1.Value.Date, "mm/dd/yyyy"))
myRptView.Show()
myRptView.CrystalReportViewer1.Dock = DockStyle.Fill
myRptView.WindowState = FormWindowState.Maximized
End Sub
我从拉数据一个基于参数的连接SQL语句,将在报表中使用。 SQL语句是正确的,并且传递的值是正确的。但参数提示框不断出现,我想压制它。在提示框中输入参数时,报告显示正确。这里有什么问题?