【问题标题】:Error while passing parameter dynamically in crystal report在水晶报表中动态传递参数时出错
【发布时间】:2014-06-23 13:25:25
【问题描述】:

我想将动态加载的数据从数据库显示到水晶报表中。为此,我做了以下事情

在水晶报表中创建了以下参数

EventName,EventDescription,Location,CashsafeSerialNo,Severity

在水晶报表中创建了以下公式文件

@cashsafeserialno,@eventname,@eventdescription,@location-detail,
@severity-detail

报表的最终设计如下

EventName   EventDescription   Location    CashsafeSerialNo   Severity
@eventname  @eventdescription  @location   @cashsafeserialno  @severity

@eventname 的公式如下

if{?EventName}="CashsafeSerialNo" then {dtHealth.CashsafeSerialNo}
else if{?EventName}="EventName" then {dtHealth.EventName}
else if{?EventName}="EventDescription" then {dtHealth.EventDescription}
else if{?EventName}="Location" then {dtHealth.Location}
else if{?EventName}="Severity" then {dtHealth.Severity}
else "None";

Datatble dtHealth 返回以下列字段

EventName,Location,CashsafeSerialNo,Severity,CashsafeId

参数的值是从后面的代码中赋值的

 if (Session["HealthReportSource"]  != null)
            {
                ReportDocument rDocument = (ReportDocument)Session["HealthReportSource"] ;                   
                for (int i = 0; i < dsHealth.Tables[0].Columns.Count; i++)
                {
                    rDocument.SetParameterValue(i, dsHealth.Tables[0].Columns[i].ToString());                     

                }          

             }

问题是当呈现报告时我收到如下错误

This field name is not known. Details: errorKind Error in File DynamicHealthReport  
{2229A8C9-B726-467C-9621-44B9FFEED632}.rpt: Error in formula eventname-detail: 
'if{?EventName}="CashsafeSerialNo" then {dtHealth.CashsafeSerialNo} ' This field name is not known. Details: errorKind

【问题讨论】:

  • 我不知道 abt c# 但是查看数据库中的错误似乎没有像 cashsafeserialnumber 这样的字段...检查或刷新数据库
  • 我已经更新了问题(包括从名为 dtHealth 的数据库表返回的列)
  • 检查参数以获得您要比较的所需名称

标签: c# asp.net crystal-reports


【解决方案1】:

您的问题是数据库连接。它未设置,您的报告无法读取数据。因此这些字段不可用。在运行报表之前设置数据库连接

【讨论】:

  • 问题是传入的数据集不包含EventDescription
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多