2013-07-16 93 views
0

我正在嘗試構建將用於顯示SSRS報表的Web應用程序(ASP.NET)。如何將級聯參數從ASP.NET傳遞到SSRS

我的報告有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

正確的方法是逐個設置參數。

我創建了以下方法:

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每個參數的方法報告