Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
试图使用crystalreportviewer显示.rpt';s使用vb.net_Vb.net_Crystal Reports - Fatal编程技术网

试图使用crystalreportviewer显示.rpt';s使用vb.net

试图使用crystalreportviewer显示.rpt';s使用vb.net,vb.net,crystal-reports,Vb.net,Crystal Reports,我一直在尝试构建一个简单的vb.net应用程序,它基本上在crystalreportviewer中显示已经构建的.rpt报告。无论我尝试编写多少次代码,我都会遇到问题。一些报告已工作,其他报告已抛出错误,如加载报告失败、路径无效等。。当我在crystal中运行所有报告时,它们都可以工作 理想情况下,我只希望有一个带有报告名称的菜单和一个crystalreportviewer,用户可以在其中单击报告,应用程序会提示他们输入参数值 我相信我目前正在使用crystal 9和vs.net 2003,或者

我一直在尝试构建一个简单的vb.net应用程序,它基本上在crystalreportviewer中显示已经构建的.rpt报告。无论我尝试编写多少次代码,我都会遇到问题。一些报告已工作,其他报告已抛出错误,如加载报告失败、路径无效等。。当我在crystal中运行所有报告时,它们都可以工作

理想情况下,我只希望有一个带有报告名称的菜单和一个crystalreportviewer,用户可以在其中单击报告,应用程序会提示他们输入参数值

我相信我目前正在使用crystal 9和vs.net 2003,或者我也可以使用2005

有人能帮我吗,或者解释一下我为什么会遇到问题?没有什么是始终如一的——我现在不知所措


非常感谢您的帮助!!提前感谢

您需要让它们都在开发环境中工作,然后在客户端,确保安装了依赖文件,并且如果代码依赖于它,则网络驱动器名称映射一致

下面是VB.NET 2005中的一个示例:

Public Class frmCrystal
    Public Sub _init(ByVal windowTitle As String, ByVal rptPath As String)
        Dim rptDoc As CrystalDecisions.CrystalReports.Engine.ReportDocument
        Dim ConInfo As CrystalDecisions.Shared.TableLogOnInfo
        Dim crTables As CrystalDecisions.CrystalReports.Engine.Tables
        Dim crTable As CrystalDecisions.CrystalReports.Engine.Table

        Me.Text = windowTitle
        rptDoc = New CrystalDecisions.CrystalReports.Engine.ReportDocument
        rptDoc.Load(rptPath)
        ConInfo = New CrystalDecisions.Shared.TableLogOnInfo
        crTables = rptDoc.Database.Tables
        For Each crTable In crTables
            With ConInfo.ConnectionInfo
                .ServerName = "dhsdev10069\dsd"
                .DatabaseName = "DSDWorkPlanTracking"
                .IntegratedSecurity = True
            End With
            ConInfo.ReportName = rptPath
            crTable.ApplyLogOnInfo(ConInfo)
        Next

        rptCrystal.ReportSource = rptDoc
    End Sub
frmCrystal表单包含一个CrystalReportViewer控件:

Private Sub InitializeComponent()
        Me.rptCrystal = New CrystalDecisions.Windows.Forms.CrystalReportViewer
        Me.SuspendLayout()
        '
        'rptCrystal
        '
        Me.rptCrystal.ActiveViewIndex = -1
        Me.rptCrystal.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle
        Me.rptCrystal.DisplayGroupTree = False
        Me.rptCrystal.Dock = System.Windows.Forms.DockStyle.Fill
        Me.rptCrystal.Location = New System.Drawing.Point(0, 0)
        Me.rptCrystal.Name = "rptCrystal"
        Me.rptCrystal.Size = New System.Drawing.Size(292, 273)
        Me.rptCrystal.TabIndex = 0
        '
        'frmCrystal
        '
        Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
        Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
        Me.ClientSize = New System.Drawing.Size(292, 273)
        Me.Controls.Add(Me.rptCrystal)
        Me.Name = "frmCrystal"
        Me.Text = "DSD Report"
        Me.ResumeLayout(False)

    End Sub
End Class
然后,要调用表单,您需要以下内容:

Private _crystal As frmCrystal

    _crystal = New frmCrystal
    _crystal.MdiParent = Me
    _crystal._init(windowTitle, rptpath)
    _crystal.WindowState = FormWindowState.Maximized
    _crystal.Show()

不幸的是,我无法让这些报告在开发环境中工作。我希望有人能为我提供基本的工作代码,我可以试一试。哪个版本的VB.NET?我可以在2005年发布Hi Beth,我把这段代码放到vs 2005中的一个新表单中,添加了一个CrytalReportViewer控件,并将其重命名为rptCrystal-它编译的很好,但当我运行它时,它什么也没做。我错过什么了吗?再次感谢您的帮助是的,您需要通过报告路径调用它。请。见编辑。嗨,贝丝,再次感谢你的帮助。这听起来可能很愚蠢,但我还是不明白。我在中复制了新代码,它说_crystal没有声明。