【问题标题】:C# ASP.NET MVC Crystal Report parameter value not being passed to reportC# ASP.NET MVC Crystal Report 参数值未传递给报告
【发布时间】:2020-01-07 22:44:44
【问题描述】:

C# ASP.NET MVC Web 应用程序 - Crystal Report 参数字段未在报告 PDF 中显示值。

ReportDocument rd = new ReportDocument();
rd.Load(Path.Combine(Server.MapPath("~/Reports"), "BOMCosting.rpt"));

rd.SetParameterValue("@vCom", CompanyID);
rd.SetParameterValue("@vItem", item);
rd.SetParameterValue("@t_citg", groups);
rd.SetParameterValue("@v_NItem", items);
rd.SetParameterValue("@vCust", Customer);

rd.SetDataSource(dt);               
rd.Refresh();

Stream stream = rd.ExportToStream(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat);
stream.Seek(0, SeekOrigin.Begin);

return File(stream, "application/pdf", FileName + ".pdf");

【问题讨论】:

  • rd.SetParameterValue("@vCust", Customer) -> pdf 中未显示 vCust 值。
  • 检查配置文件调用中的参数是否传递了正确的@dhuv
  • 是的,调用方式同上。
  • 您能验证您的BOMCosting.rpt 并检查@dhuv 吗?如果这也不起作用,请尝试Set Datasource Location

标签: c# asp.net-mvc web-applications crystal-reports


【解决方案1】:

在传递参数之前,您需要先设置数据源。就这么简单。

ReportDocument rd = new ReportDocument();
rd.Load(Path.Combine(Server.MapPath("~/Reports"), "BOMCosting.rpt"));

rd.SetDataSource(dt);               

rd.SetParameterValue("@vCom", CompanyID);
rd.SetParameterValue("@vItem", item);
rd.SetParameterValue("@t_citg", groups);
rd.SetParameterValue("@v_NItem", items);
rd.SetParameterValue("@vCust", Customer);

Stream stream = 
rd.ExportToStream(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat);
stream.Seek(0, SeekOrigin.Begin);

return File(stream, "application/pdf", FileName + ".pdf");

【讨论】:

    【解决方案2】:

    **嘿,你能用最新的数据库验证报告吗(如果你使用的是存储过程,请验证),如果报告没有用最新的更新,请更新选项将在中可用

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-05
      • 1970-01-01
      • 2017-05-25
      • 1970-01-01
      相关资源
      最近更新 更多