Vb.net Crystal报表不加载
我的Crystal报告无法加载 这是我的代码:Vb.net Crystal报表不加载,vb.net,crystal-reports,Vb.net,Crystal Reports,我的Crystal报告无法加载 这是我的代码: Imports CrystalDecisions.CrystalReports.Engine Imports CrystalDecisions.Shared Public Class bincard Private Sub bincard_Load(sender As Object, e As EventArgs) Handles MyBase.Load End Sub Private Sub Button1_Clic
Imports CrystalDecisions.CrystalReports.Engine
Imports CrystalDecisions.Shared
Public Class bincard
Private Sub bincard_Load(sender As Object, e As EventArgs) Handles MyBase.Load
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs)
Dim cryRpt As New ReportDocument
cryRpt.Load(Application.StartupPath + "bincard1.rpt")
Dim crParameterFieldDefinitions As ParameterFieldDefinitions
Dim crParameterFieldDefinition As ParameterFieldDefinition
Dim crParameterValues As New ParameterValues
Dim crParameterDiscreteValue As New ParameterDiscreteValue
crParameterDiscreteValue.Value = TextBox1.Text
crParameterFieldDefinitions =
cryRpt.DataDefinition.ParameterFields
crParameterFieldDefinition =
crParameterFieldDefinitions.Item("itemid")
crParameterValues = crParameterFieldDefinition.CurrentValues
crParameterValues.Clear()
crParameterValues.Add(crParameterDiscreteValue)
crParameterFieldDefinition.ApplyCurrentValues(crParameterValues)
CrystalReportViewer1.ReportSource = cryRpt
CrystalReportViewer1.Refresh()
End Sub
End Class
发件人:
致:
cryRpt.Load()
中的路径错误。从目前的情况看,它将是这样的:
C:\Program Files\Application Namebincard1.rpt
请注意,“应用程序名称”
和“bincard1.rpt”
之间是如何不存在任何差异的。这将使路径无效。这是因为您正在使用+
连接路径,这将导致一些问题
相反,请考虑使用将应用程序.StartupPath
和bincard1.rpt
连接在一起:
cryRpt.Load(Path.Combine(Application.StartupPath, "bincard1.rpt"))
这将为您提供类似以下内容的路径:
C:\Program Files\Application Name\bincard1.rpt
我改变了:
致:
然后将报表设计设置为“复制输出目录”=如果较新,则复制并编译为内容
cryRpt.Load(Application.StartupPath + "\\bincard1.rpt")
cryRpt.Load(Path.Combine(Application.StartupPath, "bincard1.rpt"))
cryRpt.Load(Application.StartupPath + "bincard1.rpt")
cryRpt.Load(Application.StartupPath & "bincard1.rpt")