我看了很多链接,各方面尝试了很多代码,但找不到合适的解决方案.
请让我理解并清除我的怀疑.
完全混淆了在代码中选择哪个数据集以及什么是datasource.value每次都给我错误的东西……
我正在展示如何创建报告并尝试使其工作的步骤.这是因为我可能在创建报告时犯了任何错误,而人们可能会抓住它.
现在问题如下所述,
我有很多.rdlc报告我的项目.
我做的是
注意:包含表单名称的Reportviewer是Reports.vb
RDLC报告是Reports1.rdlc,Report2.rdlc,……
1)创建报告,如添加 – >新商品 – >报告 – >报告 – > Report1.rdlc
报告名称:Report1.rdlc
2)然后我像这样从这里添加数据集……
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
我收到如下错误:
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")
BC30311 : Value of type ‘LocalReport’ cannot be converted to
‘LocalReport’.
我尝试了很多其他但却无法理解问题所在.
我在创建.rdlc报告时做错了什么?
迫切需要帮助.感谢名单
>你有一个组合时错误说:
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"