SalmanQureshi Ответов: 2

Передача значения текстового поля в качестве параметра в отчете RDLC.


Я работаю над настольным приложением в C#.net и использование отчета RDLC.
Я хочу распечатать значения текстового поля в отчете, но после установки параметров в rdlc и передачи значений в отчет в средстве просмотра отчетов мой печатный отчет выдает эту ошибку.
"в параметре "parameter_name" отсутствует значение ".
Я перепробовал все способы, но не смог найти решение этой проблемы.
Пожалуйста, помогите мне.

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

Код, чтобы добавить параметр
ReportParameter[] parms = новый ReportParameter[1];
параметры[0] = новый параметра reportparameter("[@имя_параметра]" форма form1.Текстовое поле textbox1.Текст);
это.reportViewer1.LocalReport.Метод setparameters(Палмс);
это.reportViewer1.RefreshReport();

2 Ответов

Рейтинг:
20

Karthik_Mahalingam

снимите квадратные скобки и попробуйте

parms[0] = new ReportParameter("parameter_name", TextBox1.Text);


SalmanQureshi

Удален, но все еще имеет ту же ошибку...

Karthik_Mahalingam

передайте ему какое-нибудь жестко закодированное значение и проверьте
parms[0] = новый ReportParameter("parameter_name","abc");

SalmanQureshi

Уже проверил, но все еще испытываю ту же проблему

Karthik_Mahalingam

как вы объявили параметр в sql ?

SalmanQureshi

я объявляю параметр в коде C# и передаю значение непосредственно в отчет RDLC

Karthik_Mahalingam

опубликуйте скриншот с его помощью
http://imgur.com/

SalmanQureshi

http://imgur.com/K5yoqPa
http://imgur.com/t8r2zFb

Karthik_Mahalingam

попробовать это
parms[0] = новый параметр отчета("paramname", TextBox1.Text);

SalmanQureshi

Я уже сделал это, но все та же ошибка...

Karthik_Mahalingam

но ваш скриншот показывает другое имя

SalmanQureshi

Теперь я его изменил...

Karthik_Mahalingam

работает?

SalmanQureshi

Нет, братан, та же проблема ... также проверил программу с помощью точек останова... Но не решен

Karthik_Mahalingam

очистите раствор, восстановите и проверьте его.

SalmanQureshi

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

Karthik_Mahalingam

y вы хотите сделать объект, просто используйте существующий объект управления

SalmanQureshi

Итак, есть ли какое-нибудь решение этого вопроса? После создания объекта я могу использовать то же значение текстового поля, которое ввел... Пожалуйста помогите

Karthik_Mahalingam

просто использовать этот.Текстовое поле textbox1.Текст

SalmanQureshi

Мой просмотрщик отчетов находится в другой форме, и данные поступают из другой формы. Я думаю, что в c# мы не можем получить доступ к элементам управления одной формы в другой форме, если только мы не создадим объект этой формы, а затем не вызовем этот объект с именем элемента управления. Именно так:
Имя объекта.Текстовое поле.текст

Karthik_Mahalingam

вы можете получить доступ. это просто.

SalmanQureshi

Пожалуйста скажите мне код

Karthik_Mahalingam

Есть ли обе формы, которые открываются ?

SalmanQureshi

У Form1 есть кнопка, когда мы нажимаем на нее, она приведет нас к Form2, и там есть средство просмотра отчетов, обе формы будут открыты ramain.

Karthik_Mahalingam

Ладно, тогда все просто.
При открытии второй формы передайте значение текстового поля в конструктор формы и получите доступ к значению в конструкторе формы secind назначив его глобальной переменной
И передайте переменную в отчет.

Я отправляю сообщение с мобильного телефона. Отключение питания :(

SalmanQureshi

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

Karthik_Mahalingam

Попробовать это
http://imgur.com/a/Iy1cD

SalmanQureshi

Вау, чувак, ты овсум...Дай пять... :) но теперь как я могу принять значение int?

Karthik_Mahalingam

Же, как, что..
Вместо строки используйте int и caste wheereever needed

SalmanQureshi

Большое тебе спасибо, многому научился у тебя, да благословит тебя Аллах.

Karthik_Mahalingam

Большое вам спасибо за благословение :)

Karthik_Mahalingam

сегодня мой день был хорош, благословение сработало :)

Рейтинг:
0

Abdulateef

ReportParameterCollection reportparameter = new ReportParameterCollection();
           reportparameter.Add(new ReportParameter("productType", Globalvariables.username.ToString()));
           reportparameter.Add(new ReportParameter("customername", Globalvariables.username.ToString()));
           reportparameter.Add(new ReportParameter("customeraddress", Globalvariables.username.ToString()));
           this.ReportViewer1.LocalReport.SetParameters(reportparameter);
           this.ReportViewer1.LocalReport.Refresh();


Richard Deeming

Спрашивали, отвечали и решали больше года назад.

И ваше решение просто повторяет то, что говорит принятое решение.