单晶报告查看器中的多个晶体报告 [英] Multiple crystal reports in a single crystal report viewer

查看:56
本文介绍了单晶报告查看器中的多个晶体报告的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

大家好



我有一个包含多个水晶报告的应用程序。

我用报告查看器制作了很多表格。该应用程序工作正常,但我想

只有一个表单。我在表单中使用了这段代码:

Hi guys

I have an application with multiple crystal reports.
I made a lot of forms with report viewers. The application works fine but I want
to have only one form. I used this code in a form:

Private Sub frmReport_Load(ByVal sender As Object, ByVal e As EventArgs) Handles MyBase.Load
        ControlBox = False
        WindowState = FormWindowState.Maximized
        BringToFront()
        Dim pvCollection As New ParameterValues
        Dim pdvSchYr As New ParameterDiscreteValue
        Dim pdvSem As New ParameterDiscreteValue
        Dim pdvLas As New ParameterDiscreteValue
        Select Case globalfrm
            Case "frmPrintcity"
                Myrpt.Load("..\..\Reports\rptCity.rpt")
                Call DataSourceConnection_Report()
                pdvSchYr.Value = frmPrintcity.cbCompany.Text
                pdvSem.Value = frmPrintcity.cbCity.Text
                pvCollection.Clear()
                pvCollection.Add(pdvSchYr)
                Myrpt.DataDefinition.ParameterFields("@company").ApplyCurrentValues(pvCollection)
                pvCollection.Clear()
                pvCollection.Add(pdvSem)
                Myrpt.DataDefinition.ParameterFields("@city").ApplyCurrentValues(pvCollection)
                Report1.ReportSource = Myrpt
            Case "frmPrintpoi"
                Myrpt.Load("..\..\Reports\rptPoi.rpt")
                Call DataSourceConnection_Report()
                pdvSchYr.Value = frmPrintpoi.cbCompany.Text
                pvCollection.Clear()
                pvCollection.Add(pdvSchYr)
                Myrpt.DataDefinition.ParameterFields("@company").ApplyCurrentValues(pvCollection)
                Report1.ReportSource = Myrpt
            Case "frmPrintpoil"
                Myrpt.Load("..\..\Reports\rptPoin.rpt")
                Call DataSourceConnection_Report()
                pdvSchYr.Value = frmPrintpoil.cbCompany.Text
                pvCollection.Clear()
                pvCollection.Add(pdvSchYr)
                Myrpt.DataDefinition.ParameterFields("@company").ApplyCurrentValues(pvCollection)
                Report1.ReportSource = Myrpt
 End Select
        globalfrm = Nothing

Public Function DataSourceConnection_Report()
        Dim conStr As String = My.MySettings.[Default].ConnectionStr
        Dim arrTemp As String() = conStr.Split(";"c)
        Myrpt.DataSourceConnections(0).SetConnection(arrTemp(0).Split("="c)(1), "RDMS", False)
        Myrpt.DataSourceConnections(0).SetLogon(arrTemp(2).Split("="c)(1), arrTemp(3).Split("="c)(1))
        Return 0
    End Function





问题是显示报告时没有数据。



提前谢谢



The problem is that while displaying the report has no data in it.

Thanks in advance

推荐答案

如果您共享共享代码DataSourceConnection_Report()的代码会更好。在处理报告中的验证数据库之前。



无论如何这里可能解决这个问题。

< a href =http://www.crystalkeen.com/articles/crystalreports/blankpages.htm> Crystal Reports:避免空白页面 [ ^ ]

水晶报告 - 神秘的空白页面 [ ^ ]

Crystal Report空白/空/不显示。没有屏幕错误,但事件日志'ConfigurationErrorsException'收到 [ ^ ]
It would be better if you shared the code of Share the code of DataSourceConnection_Report(). Before processing following things Verify database in your report.

Anyway here possible solutions for this issue.
Crystal Reports: Avoiding Blank Pages[^]
Crystal reports - Mysterious blank pages[^]
Crystal Report Blank / Empty / Not Displaying. No On-Screen Error, But Event Log ‘ConfigurationErrorsException’ Received[^]




请参考此代码,您将了解如何为一位观众分配多份报告。



Dim rpt As New CrystalReport1() '你创建的报告。

Dim myConnection As SqlConnection

Dim MyCommand As New SqlCommand()

Dim myDA As New SqlDataAdapter()

将myDS调暗为新数据集1()'你创建的数据集。

尝试

myConnection =新的SqlConnection(数据源= localhost;集成安全性= SSPI;

&_

初始目录= northwind;)

MyCommand.Connection = myConnection

MyCommand.CommandText =SELECT * FROM Customers

MyCommand.CommandType = CommandType.Text

myDA.SelectCommand = MyCommand

myDA.Fill(myDS,Customers)

rpt.SetDataSource(myDS)

CrystalReportViewer1.ReportSource = rpt

将异常捕获为异常

MessageBox.Show(Excep.Message,Error,MessageBoxButtons.OK,

MessageBoxIcon.Error)

结束尝试

结束子
Hi
please refer this code you will know how to assign multiple reports to the one viewer.

Dim rpt As New CrystalReport1() 'The report you created.
Dim myConnection As SqlConnection
Dim MyCommand As New SqlCommand()
Dim myDA As New SqlDataAdapter()
Dim myDS As New Dataset1() 'The DataSet you created.
Try
myConnection = New SqlConnection("Data Source=localhost;Integrated Security=SSPI;"
& _
"Initial Catalog=northwind;")
MyCommand.Connection = myConnection
MyCommand.CommandText = "SELECT * FROM Customers"
MyCommand.CommandType = CommandType.Text
myDA.SelectCommand = MyCommand
myDA.Fill(myDS, "Customers")
rpt.SetDataSource(myDS)
CrystalReportViewer1.ReportSource = rpt
Catch Excep As Exception
MessageBox.Show(Excep.Message, "Error", MessageBoxButtons.OK,
MessageBoxIcon.Error)
End Try
End Sub


这篇关于单晶报告查看器中的多个晶体报告的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆