我有一份主要的SSRS报告,它使用了两份子报告。主报告有两个参数需要传递给子报告。
我使用的是Visual Studio 2010和SQL Server 2005。
RViewer1.ProcessingMode = ProcessingMode.Local;
RViewer1.LocalReport.ReportPath = Server.MapPath("~/Reports/MOM.rdlc");
ReportDataSource datasource = new ReportDataSource("meetingmaster", getdt);
RViewer1.LocalReport.DataSources.Clear();
RViewer1.LocalReport.DataSources.Add(datasource);
ReportParameter[] reportParameterCollection = new ReportParameter[1]; //Array size describes the number of paramaters.
reportParameterCollection[0] = new ReportParameter();
reportParameterCollection[0].Name = "mrefno"; //Give Your Parameter Name
reportParameterCollection[0].Values.Add(mref); //Pass Parametrs's value here.
RViewer1.ServerReport.SetParameters(reportParameterCollection);
RViewer1.ServerReport.Refresh();
答案 0 :(得分:0)
需要编写主报告以将参数传递给子报告。这是通过设计器中子报表对象的属性完成的。我不确定您是否可以仅使用调用报告的代码直接将参数传递给子报告。
您可能遇到的一个问题是SSRS 2005报告需要Business Intelligence Development Studio(BIDS)2005版。如果您尝试使用Visual Studio 2010修改报告定义,则可能无法将报告部署到服务器。 (BIDS只是Visual Studio,具有用于BI开发的额外模板和功能。)