2013-09-06 2 views
0

으로 형성하는 내 Form2에서 ReportViewer을 가지고 내가 Form1 일부 textboxes 있고 난이 문자열을 Form2를 열고 통과를 Form1에 button_click 이벤트에 안녕하세요 :전달 매개 변수의 ReportViewer

string klient_name = txt_name.Text; 
     string klient_address2 = txt_adress2.Text; 
     string klient_address = txt_adress.Text; 
     voucher_sestava a = new voucher_sestava(); 
     a.k_name = klient_name; 
     a.k_address2 = klient_address2; 
     a.k_address = klient_address; 
     a.Show(); 

Form2을 켜기 나는이 같은의 ReportViewer의 텍스트 상자의 Expression에 쓰기 할 때

public string k_name { get; set; } 
    public string k_address2 { get; set; } 
    public string k_address { get; set; } 

private void form2_Load(object sender, EventArgs e) 
    { 


     ReportParameter p1 = new ReportParameter("name",k_name); 
     ReportParameter p2 = new ReportParameter("address",k_address); 
     ReportParameter p3 = new ReportParameter("address2", k_address2); 


     this.firmaTableAdapter.Fill(this.dataset_voucher.firma); 
     this.reportViewer1.ServerReport.SetParameters(new ReportParameter[] { p1, p2, p3 }); 
     this.reportViewer1.RefreshReport(); 

    } 

: 나는 다음 코드있어

,
=Parameters!name.Value 

나는 다음있어 오류 :

The Value expression for the text box ‘Textbox14’ refers to a non-existing report parameter ‘name’. Letters in the names of parameters must use the correct case.

누군가가 나에게이 문제를 해결 도와주세요 수 있습니까? 정말 고마워.

+0

'ReportViewer' 어떤'TextBox'이없는의 디자인 화면의 사실 '지역 보고서'또는 디자인 타임을 지원하는 다른 종류의 보고서 –

답변

2

실제 문제는 Report.rdlc 파일에 Report Parameters을 만들지 않았기 때문입니다.

Report Data으로 이동 - Parameters - Add Parameters을 마우스 오른쪽 버튼으로 클릭하여 수행 할 수 있습니다.

파싱으로 같아야 파라미터의 이름 채우

P3 = 새로운 ReportParameter ("주소"를 textBox1.Text);

null valueblank value은 필요한 경우 허용 할 수 있습니다. (나는

마지막 코드는 다음과 같이한다이 case`에 사용 :. 당신이 어떤 식을 작성하는

ReportParameter[] parameter = new ReportParameter[3]; // 3 indicates number of total parameters passed 
parameter[0] = new ReportParameter("rp_name", textBox1.Text); 
parameter[1] = new ReportParameter("rp_surname", textBox3.Text); 
parameter[2] = new ReportParameter("rp_address",textBox2.Text; 

this.reportViewer1.LocalReport.EnableExternalImages = true; 
this.reportViewer1.LocalReport.SetParameters(parameter); 
this.reportViewer1.RefreshReport(); 
-1

매개 변수는 대/소문자를 구분합니다. Textbox14의 값을 대소 문자를 올바르게 수정하십시오. 위 또는 아래.

+0

답변에 아무 것도 추가하지 않습니까? – Ehsan

관련 문제