我目前正在尝试将rdl报告动态发送到ReportViewer .net对象。
我这样做时一直收到错误:没有为数据源提供数据源实例“blah”
我正在尝试在运行时在我的代码中定义“blah”。
ReportViewer1.ProcessingMode = Microsoft.Reporting.WebForms.ProcessingMode.Local;
ReportViewer1.LocalReport.ReportPath = ReportFile;
ReportViewer1.LocalReport.DataSources.Clear();
Microsoft.Reporting.WebForms.ReportDataSource rds = new Microsoft.Reporting.WebForms.ReportDataSource();
rds.Name = "blah";
ReportViewer1.LocalReport.DataSources.Add(rds);
ReportViewer1.DocumentMapCollapsed = true;
ReportViewer1.LocalReport.Refresh();
远远不能正常工作。我不确定我应该做什么。这是我的rdl文件顶部的摘录:
<DataSource Name="blah">
<rd:DataSourceID>c6a8409e-71a4-4e96-86ad-b300a5b942c3</rd:DataSourceID>
<ConnectionProperties>
<DataProvider>SQL</DataProvider>
<ConnectString>Data Source=10.555.121.121;Initial Catalog=blah</ConnectString>
<IntegratedSecurity>true</IntegratedSecurity>
</ConnectionProperties>
</DataSource>
</DataSources>
我所要做的就是在报告中选择“在blah”中的表格。我需要这个工作,因为我需要在ReportViewer中显示许多其他报表实例。为什么微软不能让这更容易?
先谢谢任何人......
答案 0 :(得分:0)
ReportViewer控件旨在使用 RDLC 报告文件而不是RDL报告文件在本地模式下工作。 ReportViewer控件仅用于呈现报表,因此忽略可能存在的任何数据集和连接信息(即,如果使用RDL文件而不是RDLC文件)。目的是创建任何连接,查询数据源,将结果放入DataTables并添加这些连接,以便为调用应用程序中的reportViewer控件创建reportDataSource。
来自MSDN:
在本地处理模式下,控件会打开报告定义, 处理它,然后在视图区域中呈现报表。在当地 在处理模式下,您可以从.rdlc文件中获取报告定义 在文件系统上,从流中,或从中的嵌入式资源 你的申请。