RDLC报告参数错误,即使已定义

时间:2012-04-19 02:26:41

标签: report rdlc

当我尝试设置RDLC报告参数时,我收到持久性错误。 该参数在报告中定义,当我尝试以编程方式设置时,我收到此错误 参数。 尝试设置未在此报告中定义的报告参数“ReportParameter1”

我使用的代码是:

ReportParameter p1 = new ReportParameter("ReportParameter1", Payments);
rep.SetParameters(new ReportParameter[] { p1 }); 
rep.Refresh();

3 个答案:

答案 0 :(得分:2)

如果更改报告动态路径,请记住在更改前重置

reportViewer1.Reset();

答案 1 :(得分:0)

您可以尝试使用此代码。我已将此代码用于我的报告

  // Add Parameter if you need
  List<ReportParameter> parameters = new List<ReportParameter>();
  parameters.Add(new ReportParameter("parameterName1", Parameter1Value));
  parameters.Add(new ReportParameter("parameterName2", Parameter2Value));
  ReportViewer1.LocalReport.SetParameters(parameters);
  ReportViewer1.ShowParameterPrompts = false;
  ReportViewer1.ShowPromptAreaButton = false;
  ReportViewer1.LocalReport.Refresh();

参数名称应该与report参数相同,我想你已经知道了。

答案 2 :(得分:0)

使用vs 2010 Professional时遇到了同样的问题。但我设法找到了这个问题的答案。这是简单的vs检查报告分配参数并找不到所以它会抛出错误。您需要做的是加载报告,然后设置参数。

按如下方式使用订单;

List<ReportParameter> parameters = new List<ReportParameter>();
  parameters.Add(new ReportParameter("parameterName1", Parameter1Value));
  parameters.Add(new ReportParameter("parameterName2", Parameter2Value));

  // Specify the report to load
  ReportViewer1.LocalReport.ReportPath = YourReportPath;

  // Set parameters to the specified report
  ReportViewer1.LocalReport.SetParameters(parameters);

  // Load the report
  this.ReportViewer1.RefreshReport();