我看了很多链接,各方面尝试了很多代码,但找不到合适的解决方案.
请让我理解并清除我的怀疑.
完全混淆了在代码中选择哪个数据集以及什么是datasource.value每次都给我错误的东西……
我正在展示如何创建报告并尝试使其工作的步骤.这是因为我可能在创建报告时犯了任何错误,而人们可能会抓住它.
现在问题如下所述,
我有很多.rdlc报告我的项目.
我做的是
注意:包含表单名称的Reportviewer是Reports.vb
RDLC报告是Reports1.rdlc,Report2.rdlc,……
1)创建报告,如添加 – >新商品 – >报告 – >报告 – > Report1.rdlc
报告名称:Report1.rdlc
3)打开DataSet属性,它甚至打开DataSource配置向导.
我选择存储过程,因为我想从我的存储过程中获取数据并按下Finish.
这里DataSet Name是BonnyDataSet
4)之后,我从数据集属性中选择数据源…
现在这里的可用数据集是什么????
在ReportViewer中加载时我必须考虑哪个数据集?
5)现在我通过添加下面显示的dataset1的数据列来组织列…
6)现在我以Reports.vb的形式添加了Reportviewer并尝试了很多代码….
在这里展示他们中的一些.
Private Sub Reports_Load(sender As Object,e As EventArgs) Handles MyBase.Load Try 'Select Case PubRepVar 'Case "AccMast" Dim data As New BonnyDataSet Dim rds = New ReportDataSource("BonnyDataSet",data) ReportViewer.LocalReport.DataSources.Clear() ReportViewer.LocalReport.DataSources.Add(rds) ‘------error here ReportViewer.LocalReport.ReportEmbeddedResource = "YourProjectNamespace.Report1.rdlc" ReportViewer.RefreshReport() 'End Select Catch ex As Exception MessageBox.Show(ex.Message,My.Application.Info.Title,MessageBoxButtons.OK,MessageBoxIcon.Error) End Try End Sub
我收到如下错误:
@H_502_42@BC30311 : Value of type ‘ReportDataSource’ cannot be converted to
‘ReportDataSource’
我对这个错误一无所知.
我试过的另一个代码是
ReportViewer.ProcessingMode = ProcessingMode.Local
Dim localReport As LocalReport localReport = ReportViewer.LocalReport ‘-------error here localReport.ReportEmbeddedResource = "ReportViewerIntro.Report1.rdlc" Dim dataset As New DataSet("BonnyDataSet")@H_502_42@
BC30311 : Value of type ‘LocalReport’ cannot be converted to
‘LocalReport’.
我尝试了很多其他但却无法理解问题所在.
我在创建.rdlc报告时做错了什么?
迫切需要帮助.感谢名单
>你有一个组合时错误说:
@H_502_42@BC30311 : Value of type ‘ReportDataSource’ cannot be converted to
‘ReportDataSource’
因此,您应该检查是否正在使用ReportDataSource的正确引用并使用正确名称空间中的类.一个常见问题是当您在Windows窗体项目中添加Microsoft.Reporting.WebForms.dll作为参考并添加了导入Microsoft.Reporting.WebForms命名空间时,您将收到此类异常.
>修复之后,您应该注意报表中DataSet的名称应与创建新ReportDataSource时使用的名称相同.例如,如果DataSet的名称是DataSet1,则应使用以下代码:
Dim rds = New ReportDataSource("DataSet1",data)
>要传递给报表的数据应与报表使用的结构相同.例如,它应该是DataTable的一个实例:
TableAdapter1.Fill(Me.DataSet1,"Table1") Dim rds = New ReportDataSource("DataSet1",Me.DataSet1.Table1)
>设置正在使用的报告时,请使用正确的资源名称.例如,如果项目的根目录中有Report1,项目的默认namspace是YourProjectNamespace,那么资源名称将为:
ReportViewer.LocalReport.ReportEmbeddedResource = "YourProjectNamespace.Report1.rdlc"