0
下面的代码可以显示正确的报道, 反而会产生错误信息无效指数参数传递给水晶报表具有无效指数
如果我评论RD.SetParameterValue(“@ Transaction_date_field”,Calendar1.SelectedDate.ToShortDateString() ); ,它不会有错误,但不能显示报告。
如何解决?
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 = "";
}
我有这么多的问题与水晶的工作,我定义了默认的方式来处理用它。如果你感兴趣,你可以在这里查看:http://tiagoontech.wordpress.com/2011/01/12/working-with-crystal-reports-and-c/ – 2011-01-12 19:33:34