1

こんにちは、私はReportViewer自分の中にいて、Form1 でForm2いくつかのtextboxesinForm1および onbutton_clickイベントを取得しました。form2 を開き、これらの文字列を渡します。

 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次のコードを取得しました。

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();

    }

次のようにレポートビューアのテキストボックスに書き込もうとするとExpression

=Parameters!name.Value 

次のエラーが発生しました:

テキスト ボックス 'Textbox14' の値式が、存在しないレポート パラメーター 'name' を参照しています。パラメータ名の文字は、大文字と小文字を正しく使用する必要があります。

誰かがこれを修正するのを手伝ってくれませんか? 本当にありがとう。

4

2 に答える 2

3

Report Parameters本当の問題は、Report.rdlcファイルに を作成していないことでした。

Report Data- 右クリックParameters-で実行できますAdd Parameters

解析されたものと同じでなければならないパラメーターの名前を入力します。

p3 = new ReportParameter("アドレス", textBox1.Text);

null value必要に応じて許可することができblank valueます。(私はこの場合に使用しました`

最終的なコードは次のようになります。

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();
于 2014-01-27T22:25:18.483 に答える