0

私は WinForms アプリを作成し、フォームで ReportViewer を使用し、レポート ( .rdlc) を設計しています。レポートでテーブルとストアド プロシージャを選択し、ストアド プロシージャのパラメータを定義し、フォームのフォーム ロード イベントで次のように記述します。

private void Form1_Load(object sender, EventArgs e)
{
     // TODO: This line of code loads data into the 'testoDataSet.Table2' table. You can move, or remove it, as needed.
     this.Table2TableAdapter.Fill(this.testoDataSet.Table2);

     ReportParameter pa = new ReportParameter("Name", "abc");
     ReportParameter pa1 = new ReportParameter("Family", "xyz");

     reportViewer1.LocalReport.SetParameters(new ReportParameter[] { pa, pa1 });
     reportViewer1.LocalReport.Refresh();

     this.reportViewer1.RefreshReport();
 }

しかし、アプリを実行すると、すべてのレコードがレポート ビューアーに表示されましたが、選択クエリは次のとおりです。

select * 
from User 
where Name = 'abc' and Family = 'xyz';

なにが問題ですか??

4

2 に答える 2

5

オーバーロードされた TableAdapter. Fill でパラメーターを渡す必要があります

こちらをご覧ください

WebFormsのガイドもここにありますが、同様のはずです。

于 2011-03-12T11:18:15.527 に答える
-1

それは解決しました:

this.Table2TableAdapter.FillByNameAndFamily(this.testoDataSet.Table2, "abc", "xyz");
            this.reportViewer1.RefreshReport();
于 2011-03-12T15:58:46.817 に答える