如何将不同的报表打开到一个报表查看器控件中?
how to open different reports into one report viewer control?
我下面的代码有什么问题吗?
Private Sub LocalReport(ByVal digito As Integer)
Dim relatorioCorrente = New Microsoft.Reporting.WinForms.ReportDataSource()
ReportViewer1.LocalReport.DataSources.Clear()
If (digito = 1) Then
ReportViewer1.LocalReport.ReportEmbeddedResource = "ReportViewer.rpt1.rdlc"
mcv_modbusTableAdapter.Fill(geradorxmlDS.mcv_modbus)
relatorioCorrente.Name = "geradorxmlDS"
relatorioCorrente.Value = mcv_malhaBindingSource
ReportViewer1.LocalReport.DataSources.Add(relatorioCorrente)
ElseIf (digito = 2) Then
ReportViewer1.LocalReport.ReportEmbeddedResource = "ReportViewer.rpt2.rdlc"
mcv_modbusTableAdapter.Fill(geradorxmlDS.mcv_modbus)
relatorioCorrente.Name = "geradorxmlDS"
relatorioCorrente.Value = mcv_modbusBindingSource
ReportViewer1.LocalReport.DataSources.Add(relatorioCorrente)
ElseIf (digito = 3) Then
ReportViewer1.LocalReport.ReportEmbeddedResource = "ReportViewer.rpt3.rdlc"
mcv_registroTableAdapter.Fill(geradorxmlDS.mcv_registro)
relatorioCorrente.Name = "geradorxmlDS"
relatorioCorrente.Value = mcv_registroBindingSource
ReportViewer1.LocalReport.DataSources.Add(relatorioCorrente)
End If
ReportViewer1.RefreshReport()
End Sub
这是我看到的错误:
"Could not provide any data source instance to the data source"
你为什么不尝试创建一个实例?
类似于:
If (digito = 1) Then
Dim relatorioCorrente = New Microsoft.Reporting.WinForms.ReportDataSource()
Dim MyViewer as ReporViewer1 = New ReportViewer1**
MyViewer.LocalReport.DataSources.Clear()
MyViewer.LocalReport.ReportEmbeddedResource = "ReportViewer.rpt1.rdlc"
mcv_modbusTableAdapter.Fill(geradorxmlDS.mcv_modbus)
relatorioCorrente.Name = "geradorxmlDS"
relatorioCorrente.Value = mcv_malhaBindingSource
MyViewer.LocalReport.DataSources.Add(relatorioCorrente)
MyViewer.RefreshReport
ElseIf (digito = 2) Then
same as above...
ElseIf (digito = 3) Then
same as above
End If
ReportViewer1.RefreshReport()
我下面的代码有什么问题吗?
Private Sub LocalReport(ByVal digito As Integer)
Dim relatorioCorrente = New Microsoft.Reporting.WinForms.ReportDataSource()
ReportViewer1.LocalReport.DataSources.Clear()
If (digito = 1) Then
ReportViewer1.LocalReport.ReportEmbeddedResource = "ReportViewer.rpt1.rdlc"
mcv_modbusTableAdapter.Fill(geradorxmlDS.mcv_modbus)
relatorioCorrente.Name = "geradorxmlDS"
relatorioCorrente.Value = mcv_malhaBindingSource
ReportViewer1.LocalReport.DataSources.Add(relatorioCorrente)
ElseIf (digito = 2) Then
ReportViewer1.LocalReport.ReportEmbeddedResource = "ReportViewer.rpt2.rdlc"
mcv_modbusTableAdapter.Fill(geradorxmlDS.mcv_modbus)
relatorioCorrente.Name = "geradorxmlDS"
relatorioCorrente.Value = mcv_modbusBindingSource
ReportViewer1.LocalReport.DataSources.Add(relatorioCorrente)
ElseIf (digito = 3) Then
ReportViewer1.LocalReport.ReportEmbeddedResource = "ReportViewer.rpt3.rdlc"
mcv_registroTableAdapter.Fill(geradorxmlDS.mcv_registro)
relatorioCorrente.Name = "geradorxmlDS"
relatorioCorrente.Value = mcv_registroBindingSource
ReportViewer1.LocalReport.DataSources.Add(relatorioCorrente)
End If
ReportViewer1.RefreshReport()
End Sub
这是我看到的错误:
"Could not provide any data source instance to the data source"
你为什么不尝试创建一个实例?
类似于:
If (digito = 1) Then
Dim relatorioCorrente = New Microsoft.Reporting.WinForms.ReportDataSource()
Dim MyViewer as ReporViewer1 = New ReportViewer1**
MyViewer.LocalReport.DataSources.Clear()
MyViewer.LocalReport.ReportEmbeddedResource = "ReportViewer.rpt1.rdlc"
mcv_modbusTableAdapter.Fill(geradorxmlDS.mcv_modbus)
relatorioCorrente.Name = "geradorxmlDS"
relatorioCorrente.Value = mcv_malhaBindingSource
MyViewer.LocalReport.DataSources.Add(relatorioCorrente)
MyViewer.RefreshReport
ElseIf (digito = 2) Then
same as above...
ElseIf (digito = 3) Then
same as above
End If
ReportViewer1.RefreshReport()