我正在尝试构建将用于显示SSRS报告的Web应用程序(ASP.NET)。
我的报告有4个级联参数--A,B,C和D.C和D“逻辑上依赖于A的值”(这意味着C和D的数据集基于A的值进行过滤)。以编程方式(在SSRS中)B取决于A,C取决于B,D取决于C.
我试图通过以下方式提前设置它们:
ReportParameter rp0 = new ReportParameter("Project", "P1");
ReportParameter rp1 = new ReportParameter("TopX", "Top5");
ReportParameter rp2 = new ReportParameter("Companies", "Company1");
MyReportViewer.ShowParameterPrompts = false;
MyReportViewer.ServerReport.SetParameters(new ReportParameter[] {rp0, rp1, rp2});
MyReportViewer.ServerReport.Refresh();
当我这样做时,我得到一个错误,即TopX参数没有值。这是第二个参数 - 它有一个默认值(=“Top1”)。
有人可以协助吗?有没有办法动态查询SSRS报告中每个参数的可用值,然后选择一个值?
答案 0 :(得分:0)
执行此操作的正确方法是逐个设置参数。
我创建了以下方法:
public void setSingleValueParameter(String name, String value) {
ParameterValue[] parameter = new ParameterValue[1];
parameter[0] = new ParameterValue();
parameter[0].setName(name);
parameter[0].setValue(value);
service.setExecutionParameters(parameter,"en-us");
}
然后我按照它们在SSRS报告中出现的顺序为每个参数调用方法