如何将参数传递给Reportviewer?

时间:2013-02-25 04:38:33

标签: asp.net reportviewer

我正在尝试为TOP创建报告(根据用户提供的说10,100,200 ..)产品。我用它取得了90%的成功。现在,我发现很难将这些数字显示到Report标题。所以,我的报告标题是Top Products,现在我想让这个充满活力,说100强产品,200强产品。

我正在使用VS 2008.

为此,我在ReportViewer中创建了参数。我在Page_Load事件中尝试了这段代码;

 protected void Page_Load(object sender, EventArgs e)
{
    ReportDataSource rds = new ReportDataSource("SP_GetProductsbySales_DataSet");
    //ReportViewer1.ServerReport.ReportPath = "Report1.rdlc";
    ReportViewer1.LocalReport.ReportPath = "Report1.rdlc";
    ReportParameter[] param = new ReportParameter[1];
    param[0] = new ReportParameter("top", "100");

    ReportViewer1.ServerReport.SetParameters(param);
    ReportViewer1.ServerReport.Refresh();
}

但收到错误说:The source of the report definition has not been specified.

我怎样才能完成这个?我试图谷歌以及观看一些视频,但我仍然不知道。

感谢。

2 个答案:

答案 0 :(得分:0)

请设置数据源

       ReportViewer1.LocalReport.DataSources.Clear();

       ReportViewer1.LocalReport.DataSources.Add(rds);

答案 1 :(得分:0)

您可以在报告中设置表达式以显示值。

表达式如下:

="Top " & Parameters!top.Value & " Products"