我以编程方式将一些参数传递给CR报告,并且工作正常,但现在我为报告添加了新的日期参数,出于某种原因,它提示我在屏幕上输入该参数(用户不允许设置该参数是必须设置它的系统),除了添加新的日期参数外,其他参数都没有改变,其他参数表现正常,只是提示日期参数,甚至认为我已经为参数设置了一个值。如何将日期参数从ASP.NET应用程序传递到Crystal Reports 2008?
这是我已经得到了代码:
private void ConfigureCrystalReports()
{
crystalReportViewer.ReportSource = GetReportPath();
crystalReportViewer.DataBind();
ConnectionInfo connectionInfo = GetConnectionInfo();
TableLogOnInfos tableLogOnInfos = crystalReportViewer.LogOnInfo;
foreach (TableLogOnInfo tableLogOnInfo in tableLogOnInfos) {
tableLogOnInfo.ConnectionInfo = connectionInfo;
}
ArrayList totOriValues = new ArrayList();
totOriValues.Add(date.ToString("MM/dd/yyyy HH:mm:ss"));
ParameterFields parameterFields = crystalReportViewer.ParameterFieldInfo;
SetCurrentValuesForParameterField(parameterFields, totOriValues, "DateParameter");
}
private static void SetCurrentValuesForParameterField(ParameterFields parameterFields, ArrayList arrayList, string parameterName)
{
ParameterValues currentParameterValues = new ParameterValues();
foreach (object submittedValue in arrayList) {
ParameterDiscreteValue parameterDiscreteValue = new ParameterDiscreteValue();
parameterDiscreteValue.Value = submittedValue.ToString();
currentParameterValues.Add(parameterDiscreteValue);
}
ParameterField parameterField = parameterFields[parameterName];
parameterField.CurrentValues = currentParameterValues;
}
只是为了事物的缘故:我已检查该参数确实是一个日期,它很好地形成。 CR提示我以格式(mm/dd/yyyy hh:mm:ss)输入格式,所以我按照确切的格式传递日期(事实上,我甚至尝试过编写格式良好的日期,并且仍然提示我输入日期)。
我做错了什么?
谢谢!就是这样! – Unlimited071 2010-03-31 20:17:19