Real Revendell Ответов: 1

Как добавить параметр reportparameter в localreport, а затем ссылаться на него в отчете rdlc(текстовое поле)


using (LocalReport reportEngine = reportViewer1.LocalReport)                
                {       this.Instrument_ReadingsTableAdapter.Fill(this.LiveDataSetFromActualDB.Instrument_Readings);                 
                    reportEngine.ReportPath = Application.StartupPath + "\\Report1.rdlc";
                    //reportEngine.ReportPath = Application.StartupPath + "\\Report2.rdlc";
                    
                    // -- NEW CODE ADDED HERE
                    //ReportDataSource rds = new ReportDataSource();
                    //rds.Name = "Datasettest";
                    //rds

                    var dt_min = this.Instrument_ReadingsTableAdapter.Min();
                    var dt_max = this.Instrument_ReadingsTableAdapter.Max();

                    if (!dt_min.HasValue || !dt_max.HasValue)
                    {
                        return;
                    }

                    var diff = (dt_max.Value - dt_min.Value).TotalMinutes;

                    this.reportViewer1.LocalReport.ReportEmbeddedResource = "Report1.rdlc";

                    ReportParameter rp = new ReportParameter("Time_Span", diff.ToString());
                    reportEngine.SetParameters(new ReportParameter[] { rp });
                    this.reportViewer1.RefreshReport();


Что я уже пробовал:

Я получаю ошибку
"Microsoft.reporting.WinForms.Местный репортаж.InternalGetReportParameters(CatalogItemContextBase reportContext, NameValueCollection userSpecifiedValues, ParameterInfoCollection baseLineParameters, DatasourceCredentialsCollection credentials, ReportRuntimeSetup reportRuntimeSetup at Microsoft.Reporting.Приложения WinForms.LocalReport. SetParameters (параметры IEnumerable1)
около
Live_AM_Report.Form1. Form1_Load(отправитель объекта, EventArgs e)
... строка 255, которая = reportEngine.SetParameters(new ReportParameter[] { rp });

На стороне дизайн с отчетами

Я добавил параметр Timespan в раздел " данные отчета"
Я также добавил текстовое поле, которое ссылается на параметр, теперь это простой случай установки значения в этом параметре, и текстовое поле должно вызывать его.
Поле значения текстового поля = [@Time_Span] (параметр, который я добавил)

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

Richard Deeming

То, что Вы нам дали, является частью трассировки стека ошибки. Вы пропустили важную часть-фактическое сообщение об ошибке.

Нажмите кнопку "улучшить вопрос" и обновите свой вопрос с полной информацией об исключении.

Кроме того, вы говорите, что создали параметр под названием "Timespan", но ваш код пытается установить параметр под названием "Time_Span" - это опечатка в вашем вопросе?

1 Ответов

Рейтинг:
0

Nitin_Bharekar

Чтобы добавить параметр в отчет RDLC.
1. Откройте отчет в Visual Studio.
2. Нажмите CRL + ALT + D
3. Закладка "отчет данных" становится открытым.
4. Выберите "Параметры" и щелкните правой кнопкой мыши, чтобы добавить параметр.

В параметре Set

ReportParameter[] rptParams = new ReportParameter[]
            {
                new ReportParameter("param1",txtParam1.Text),
                new ReportParameter("param2",txtParam2.Text)
};
rptInvoiceTC.LocalReport.SetParameters(rptParams);