динамически создавать параметр во время выполнения для ssrs - PullRequest
2 голосов
/ 16 ноября 2009

Я использую Visual Studie 2005 и SQL Server 2005. Я пытаюсь запустить некоторые отчеты ssrs, созданные на сервере. Могу ли я создавать параметры во время выполнения в моем коде, даже если я не создавал параметры в отчете. Вот мой пример кода:

        ReportNum = Test.Left(cboReportList.Text, 9);
        reportViewer1.ServerReport.ReportServerUrl = new Uri  ("http://simsamwqs04.rsc.humad.com/reportserver");
        reportViewer1.ServerReport.ReportPath = "/Claims/Report Project1/" + ReportNum;

        //ReportViewer1.ServerReport.ReportPath = "/Report Project State/Report1";
        ReportParameter[] Params = new ReportParameter[1];
        Params[0] = new ReportParameter("fundctr", txtCenter.Text);
        reportViewer1.ServerReport.SetParameters(Params);
        reportViewer1.ServerReport.Refresh();

Ответы [ 2 ]

0 голосов
/ 16 декабря 2009

Вы можете попытаться создать все необходимые параметры и решить использовать их в SQL с оператором coalesce. Вот так:

select field1,field2
from table_a
where /*sneaky part below*/
field1 = Coalesce(@ParamForField1, field1)
AND
field2 = Coalesce(@ParamForField2, field2)

Это будет эффективно игнорировать параметры, если их значение равно нулю. Это не работает в любой ситуации, хотя. Это немного длинная петля вокруг вашей проблемы, но может работать для вас.

0 голосов
/ 18 ноября 2009

Я не уверен, что понимаю ваш вопрос, но если я понимаю, вы спрашиваете, можете ли вы добавить параметры в отчет, в котором их ранее не было.

Если вы еще не создали параметры в отчете, то что вы ожидаете от них, если сможете создавать их во время выполнения? Вы бы ничего не зависели от них. В отчете не будет ничего, что могло бы их искать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...