как добавить параметры в просмотрщик отчетов? - PullRequest
13 голосов
/ 24 февраля 2011

Г!У меня есть приложение для форм в Visual Studio 2010, и я хочу создать отчет с помощью средства просмотра отчетов и добавить некоторые параметры.Я пытался добавить параметры из кода, но это не сработало.У меня есть эта ошибка:

Выражение FilterExpression для tablix 'Tablix1' относится к полю 'datastart'.Выражения элементов отчета могут ссылаться только на поля в текущей области набора данных или, если они находятся внутри агрегата, на указанную область набора данных.Report2.rdlc: error rsParameterReference: Выражение FilterValue для таблицы «Tablix1» относится к несуществующему параметру отчета «datastart».

В моем коде a сделайте это:

 private void SetReportParameters()
    {
        ReportParameter[] parameters = new ReportParameter[2];
        parameters[0] = new ReportParameter("datastart", dateTimePickerStartRaport.Text);
        parameters[1] = new ReportParameter("dataStop", dateTimePickerStopRaport.Text);
        this.reportViewer1.LocalReport.SetParameters(parameters);
    }

и после вызова этого метода сделайте обновление для средства просмотра отчетов

 reportViewer1.RefreshReport();           

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

  =Parameters!datastart.Value     

, но это также не сработало.

Ответы [ 3 ]

16 голосов
/ 24 февраля 2011

Вы получаете ошибку, потому что вы пытаетесь указать свой параметр как поле.В выражении-конструкторе у вас есть специальная категория «Параметры».Оттуда вы можете получить доступ к своим параметрам.Синтаксис =Parameters![FieldName].Value.Например, в вашем случае =Parameters!datastart.Value.

Обратите внимание, что параметры должны быть объявлены в окне «Данные отчета» в разделе «Параметры».Это то же самое окно, которое вы используете для объявления своих наборов записей, однако есть и специальная категория для параметров.Есть также несколько опций для типа данных, и если указание параметра является обязательным.

2 голосов
/ 24 февраля 2011

Поэтому, когда вы создаете определение отчета (файл rdl или rdlc), вы должны добавить параметры с точно такими же именами.Поэтому для вашего случая вы должны добавить параметры datastart и dataStop.Для этого просто нажмите «Параметры» в окне «Данные отчета» и нажмите «Добавить новый».

0 голосов
/ 31 марта 2018

Попробуйте это:

ReportParameter PrmInvoiceNo = new ReportParameter("PrmInvoiceNo");
PrmInvoiceNo.Values.Add(this.InvNo.ToString());
this.reportViewer1.LocalReport.SetParameters(PrmInvoiceNo);
...