在 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 多语言解决方案

Visual Studio - VB - Windows 窗体项目 - 未声明“变量”。可能无法访问

visual studio 2010 序列号在哪输入

从 Visual Studio 2012 调试 VB6 代码