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 回答