Как передать каскадные параметры из ASP.NET в SSRS

Я пытаюсь создать веб-приложение (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 для значений, доступных для каждого параметра, а затем выбрать значение?


person Valentin Mladenov    schedule 16.07.2013    source источник


Ответы (1)


Правильный способ сделать это - установить параметры один за другим.

Я создал следующий метод:

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.

person Valentin Mladenov    schedule 19.11.2013