在Visual Studio 2010中通过vb.net中的rdlc报告创建钻取

时间:2011-05-05 20:10:15

标签: vb.net rdlc reportviewer

我在vb.net中使用winforms在visual studio 2010中创建了父母和子女报告。我在父报告中设置了一个文本框,以转到子报告,其中相应的值作为参数。但是,当我点击链接时,我收到错误: 尚未为数据源'dataset1'

提供数据源实例

我意识到必须填充数据集1,但是我无法弄清楚如何填充数据集1。我已经研究了以下链接提供的主题:

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 个答案:

答案 0 :(得分:0)

根据您提供的示例(第二个链接),完成您要执行的操作的代码如下:

void DemoDrillthroughEventHandler(object sender, 
    DrillthroughEventArgs e)
{
    LocalReport localReport = (LocalReport)e.Report;
    localReport.DataSources.Add(new ReportDataSource("Employees",
        LoadEmployeesData()));
}

这显示了如何根据追溯功能分配新的DataSource。只需按照您提供的网站上的示例进行操作即可。

至于您需要这样做的原因,您必须根据用户钻取数据来加载新数据。

关于填充数据集所连接的表适配器的问题似乎有点令人困惑。数据集包含一组表。报表的DataSource使用数据集中的一个表。因此,看起来您可能正在尝试向后工作(填充表格以填充数据集)。