在VB.Net中手动在Reportviewer中加载.rdlc报告

前端之家收集整理的这篇文章主要介绍了在VB.Net中手动在Reportviewer中加载.rdlc报告前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我需要在reportviewer中提供认真的帮助.
我看了很多链接,各方面尝试了很多代码,但找不到合适的解决方案.
请让我理解并清除我的怀疑.
完全混淆了在代码中选择哪个数据集以及什么是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"

当您的报告位于文件夹中时,文件名称也将添加到其资源名称中.

猜你在找的VB相关文章