在 Visual Studio 2010 的 vb.net 中创建钻取 rdlc 报告
Posted
技术标签:
【中文标题】在 Visual Studio 2010 的 vb.net 中创建钻取 rdlc 报告【英文标题】:creating a drill through rdlc report in vb.net in Visual studio 2010 【发布时间】:2011-05-05 20:10:14 【问题描述】:我有一个父子报表,它是在 Visual Studio 2010 中使用 vb.net 中的 winforms 创建的。我在父报表中设置了一个文本框,以将相应的值作为参数转到子报表。但是,当我单击链接时,出现错误: 尚未为数据源“dataset1”提供数据源实例
我意识到必须填充 dataset1,但是我不知道如何填充 dataset1。我已经研究过这个主题,并附有以下链接:
http://www.developerfusion.com/t/vb.net/
http://msdn.microsoft.com/en-us/library/microsoft.reporting.winforms.reportviewer.drillthrough.aspx
在reportviewer控制器所在的winform上,我有报表钻取处理程序,但我不明白如何设置数据集。
我有以下问题,但我不知道如何继续前进:
Private Sub ReportViewer1_Drillthrough(ByVal sender As System.Object, ByVal e As Microsoft.Reporting.WinForms.DrillthroughEventArgs) Handles ReportViewer1.Drillthrough
Dim localreport = e.Report
Me.Sp_get_testaccountsTableAdapter1.Fill(Me.Retreival.sp_get_testaccounts)
Dim od As New RetreivalTableAdapters.sp_get_testaccountsTableAdapter
End Sub
如您所见,我正在填充数据集 1 应该连接到的表适配器,但数据集 1 仍未填充...请帮助!
我需要设置一个新的 sqlconnection 吗?为什么我需要这样做?为什么我不能只使用我的 tableadapter 正在使用的 sqlconnection 字符串??
感谢您的帮助!!
【问题讨论】:
【参考方案1】:根据您提供的示例(第二个链接),完成您想要做的代码如下:
void DemoDrillthroughEventHandler(object sender,
DrillthroughEventArgs e)
LocalReport localReport = (LocalReport)e.Report;
localReport.DataSources.Add(new ReportDataSource("Employees",
LoadEmployeesData()));
这显示了如何根据钻取功能分配新的数据源。只需按照您提供的网站上的示例进行操作即可。
至于你为什么需要这样做,你必须根据用户钻取你的数据来加载新数据。
您关于填充数据集所连接的表适配器的问题似乎有点令人困惑。数据集包含一组表。报表的 DataSource 使用数据集中的一个表。因此,看起来您可能正在尝试逆向工作(填充表格以填充数据集)。
【讨论】:
以上是关于在 Visual Studio 2010 的 vb.net 中创建钻取 rdlc 报告的主要内容,如果未能解决你的问题,请参考以下文章
在 Visual Studio 6 中从 VB 调用 VS2010 C++ dll
谁能指出我在 VB 中的登录表单做错了啥(visual studio 2010,mdb)
Visual Studio 2010 Express 多语言解决方案