单晶报告查看器中的多个晶体报告 [英] Multiple crystal reports in a single crystal report viewer
本文介绍了单晶报告查看器中的多个晶体报告的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
大家好
我有一个包含多个水晶报告的应用程序。
我用报告查看器制作了很多表格。该应用程序工作正常,但我想
只有一个表单。我在表单中使用了这段代码:
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屋!
查看全文