Asp.net 将参数传递到Crystal报表的索引无效
下面的代码可以显示正确的报告, 但将有错误消息无效索引 如果我对RD.SetParameterValue(“@Transaction_date_field”,Calendar1.SelectedDate.ToSortDateString())进行注释,它不会有错误,但不能显示报告 如何修复它Asp.net 将参数传递到Crystal报表的索引无效,asp.net,crystal-reports,Asp.net,Crystal Reports,下面的代码可以显示正确的报告, 但将有错误消息无效索引 如果我对RD.SetParameterValue(“@Transaction_date_field”,Calendar1.SelectedDate.ToSortDateString())进行注释,它不会有错误,但不能显示报告 如何修复它 try { RD = new ReportDocument(); RD.Load(@"D:\Data\My Documents\Visual
try
{
RD = new ReportDocument();
RD.Load(@"D:\Data\My Documents\Visual Studio 2008\WebSites\Carpark\Daily_CrystalReport.rpt");
//RD.Load(@".\Daily_CrystalReport.rpt");
ParameterFieldDefinitions crParameterFieldDefinitions;
ParameterFieldDefinition crParameterFieldDefinition;
ParameterValues crParameterValues = new ParameterValues();
ParameterDiscreteValue crParameterDiscreteValue = new ParameterDiscreteValue();
crParameterDiscreteValue.Value = Calendar1.SelectedDate.ToShortDateString();
crParameterFieldDefinitions = RD.DataDefinition.ParameterFields;
crParameterFieldDefinition = crParameterFieldDefinitions["Transaction_date_field"];
crParameterValues = crParameterFieldDefinition.CurrentValues;
crParameterValues.Clear();
crParameterValues.Add(crParameterDiscreteValue);
crParameterFieldDefinition.ApplyCurrentValues(crParameterValues);
DailyReport_CrystalReportViewer.ReportSource = RD;
RD.SetParameterValue("@Transaction_date_field", Calendar1.SelectedDate.ToShortDateString());
DailyReport_CrystalReportViewer.EnableParameterPrompt = false;
DailyReport_CrystalReportViewer.RefreshReport();
//RD.Dispose();
}
catch (Exception ex)
{
Error_Label.Text = Error_Label.Text + " " + ex.Message;
//Error_Label.Text = "";
}
CrystalReport002
我认为您可以使用如下方式将参数传递到报告:
var value = new ParameterDiscreteValue();
value.Value = Calendar1.SelectedDate.ToShortDateString();
RD.ParameterFields["Transaction_date_field"].CurrentValues.Add(value);
我在使用crystal时遇到了很多问题,因此我定义了一种默认的处理方法。如果您已经休息了,您可以在这里检查:我按照您的方式做了,现在我得到了一个nullreference错误。CrystalDecisions.Shared.ParameterFields.this[string]。get返回null。水晶报告很烂。可惜的是,唯一的选择是更昂贵的。我检查了你的链接,我简直不明白为什么我们需要一个数据表和一个字典。为什么我们需要这两个字段,以及哪一个需要真正的数据?最后,我设法让参数字段工作。我将对所有内容使用参数字段。我不知道如何推送数据表,也不在乎。