【发布时间】:2017-02-24 16:39:28
【问题描述】:
我在 reportviewer 中需要认真的帮助。
我看到了很多链接,尝试了很多代码,但找不到合适的解决方案。
请让我理解并消除我的疑虑。
完全混淆了在代码期间选择哪个数据集以及什么是 datasource.value 东西,每次都会给我错误...
我正在展示我如何创建报告并尝试使其发挥作用的步骤。这是因为我可能在创建报告时犯了任何错误,而你们可能会发现它。
现在问题描述如下,
我有很多 .rdlc 报告我的项目。
我所做的是
注意:包含表单名称的 Reportviewer 是 Reports.vb
RDLC 报告是 Reports1.rdlc,Report2.rdlc,...
1) 创建报告,例如添加 -> 新项目 -> 报告 -> 报告 -> Report1.rdlc
报告名称:Report1.rdlc
3) 数据集属性打开,它甚至打开数据源配置向导。
我选择存储过程是因为我想从存储过程中获取数据并按下完成。
这里的数据集名称是 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:“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:“LocalReport”类型的值无法转换为 '本地报告'。
我尝试了许多其他方法,但无法理解问题所在。
我在创建 .rdlc 报告期间是否做错了什么???
急需帮助。谢谢
【问题讨论】:
-
你试过
Dim rds = New ReportDataSource("DataSet1", data) -
数据也应该是
BonnyDataSet.AccMast_AllDetail的结果。 -
不,没有发生,我试过这个
Dim data = BonnyDataSet.AccMast_AllDetail不工作。没有任何工作。它说值类型 ReportDataSource 无法转换为 ReportDataSource... 现在这是什么? @RezaAghaei -
您导入的命名空间是什么?
-
肯定会抛出异常,正如我所说的数据应该是
those data BonnyDataSet.AccMast_AllDetail的结果,创建一个数据集的实例然后调用ds1.AccMast_AllDetail,如果有参数,它似乎被存储程序。我无法测试它是如何工作的,但可以使用它和使用数据来获取数据。就是这样。
标签: .net vb.net winforms report rdlc