我在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字符串?
感谢您的帮助!!
答案 0 :(得分:0)
根据您提供的示例(第二个链接),完成您要执行的操作的代码如下:
void DemoDrillthroughEventHandler(object sender,
DrillthroughEventArgs e)
{
LocalReport localReport = (LocalReport)e.Report;
localReport.DataSources.Add(new ReportDataSource("Employees",
LoadEmployeesData()));
}
这显示了如何根据追溯功能分配新的DataSource。只需按照您提供的网站上的示例进行操作即可。
至于您需要这样做的原因,您必须根据用户钻取数据来加载新数据。
关于填充数据集所连接的表适配器的问题似乎有点令人困惑。数据集包含一组表。报表的DataSource使用数据集中的一个表。因此,看起来您可能正在尝试向后工作(填充表格以填充数据集)。