我有一个下拉列表,其中包含报告的名称,每个报告都有一个值(1,2,3 ......),当用户点击查看报告按钮时,会出现一个弹出窗口 这个弹出窗口是一个包含报表查看器的网页,在这个弹出页面的cs中我有一个swtich,它接受int这是报告的值eg.if我想显示第一个报告所以我选择了第一个报告下拉列表和所选值为1,它将传递到包含会话变量中的报表查看器的页面,并将其传递给切换然后案例1; ........ break 所以我想知道如何创建一个类型报告的对象,并在每种情况下将其绑定到报告查看器,我已经做了类似的东西,但我使用水晶报告和水晶报告查看器,其中有
CrystalReportViewer1.ReportSource = rpt;
CrystalReportViewer1.DataBind();
我有一个报告对象
rpt.SetDataSource(dt);
ReportDocument rpt;
但是当我使用报告服务
时,我无法做那样的事情所以请帮忙
感谢
答案 0 :(得分:0)
您正在谈论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文件的路径,并且您可以向{添加尽可能多的数据源{1}}您需要收集报告。
这有帮助吗?否则,请再详细说明一下你的问题。
请参阅从Web服务here检索本地报告数据的VB.NET示例。
答案 1 :(得分:0)
我刚才尝试过这样做。我放弃了,因为它并不重要,但我的想法是这样的:
我对ssrs的了解有限,但可能值得一试。