Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 在Reporting Service报表上设置数据源_Sql Server_Reporting Services - Fatal编程技术网

Sql server 在Reporting Service报表上设置数据源

Sql server 在Reporting Service报表上设置数据源,sql-server,reporting-services,Sql Server,Reporting Services,我有一个下拉列表,其中包含报告的名称,每个报告都有一个值(1,2,3…),我有一个弹出窗口,当用户单击“查看报告”按钮时会出现 此弹出窗口是包含报表查看器的网页,,在这个弹出页面的cs中,我有一个swtich,它接受int,int是报告的值。例如,如果我想显示第一个报告,那么我在下拉列表中选择了第一个报告,选择的值是1,它被传递到包含会话变量中的报告查看器的页面,并将其传递给switch,然后是case 1;。。。。。。。。打破 因此,我想知道如何创建report类型的对象,并在每种情况下将其绑

我有一个下拉列表,其中包含报告的名称,每个报告都有一个值(1,2,3…),我有一个弹出窗口,当用户单击“查看报告”按钮时会出现 此弹出窗口是包含报表查看器的网页,,在这个弹出页面的cs中,我有一个swtich,它接受int,int是报告的值。例如,如果我想显示第一个报告,那么我在下拉列表中选择了第一个报告,选择的值是1,它被传递到包含会话变量中的报告查看器的页面,并将其传递给switch,然后是case 1;。。。。。。。。打破 因此,我想知道如何创建report类型的对象,并在每种情况下将其绑定到report viewer,我制作了类似的东西,但我使用了crystal reports和crystal report viewer,它具有

CrystalReportViewer1.ReportSource = rpt;
CrystalReportViewer1.DataBind();
我有一个报告对象

rpt.SetDataSource(dt);        
ReportDocument rpt;
但当我使用报告服务时,我不能做任何类似的事情

所以请帮忙


谢谢

您指的是Microsoft SQL Server Reporting Services(SSRS),对吗

这种方法与Crystal稍有不同-基本上,SSRS默认为基于服务器的报告引擎,例如,您的应用程序(Winforms或ASP.NET或其他任何应用程序)实际上不在本地呈现报告,也不在本地提供数据

在SSRS中,这通常由报表本身和服务器处理。通常只显示报表(可能配置了一些报表参数),但总而言之,报表服务器将获取数据、格式化数据、呈现报表,而应用程序最终只显示输出

如果您想在本地呈现SSRS报告,您需要一个*.rdlc文件-您有这个文件吗?您熟悉这个选项吗

如果您这样做了,那么一旦您开始在本地呈现报告,当然,您还必须在本地提供数据。如果使用ASP.NET或Winforms
ReportViewer
控件,则可以执行以下操作:

ReportViewer reportViewer = new ReportViewer();

reportViewer.ProcessingMode = ProcessingMode.Local;
reportViewer.LocalReport.ReportPath = "Report1.rdlc"; // supply path to the RDLC file
reportViewer.LocalReport.DataSources.Add(.........)

reportViewer.RefreshReport();
基本上,您需要告诉
ReportViewer
控件您正在处理本地呈现,然后您需要为它提供RDLC文件的路径,并且您可以向
ReportViewer.LocalReport
集合添加您需要的报告所需的任意多个数据源

这有帮助吗?否则,请进一步澄清您的问题


请参阅从web服务检索本地报表数据的VB.NET示例。

我刚才尝试过这样做。我放弃了,因为这没那么重要,但我的想法是:

  • 使用web服务创建新的数据源
  • 使用web服务更改报表上的数据源
  • 在ReportViewer中呈现报告
  • 使用web服务将数据源切换回原始数据源

  • 我对ssrs的了解有限,但可能值得一试。

    请重新命名您的问题,以包含有关您的问题的明确信息,否则您将获得其他人的反对票。