通过以下代码将开始日期和最终日期作为参数传递 由于报告中没有使用参数字段, 如何在文本或字段对象中显示日期范围? 这样做的公式是什么?
ReportDocument objRpt = new ReportDocument();
string reportPath = Server.MapPath("Daily_CrystalReport.rpt");
objRpt.Load(reportPath);
objRpt.SetDataSource(ds.Tables[0]);
CrystalReportViewer1.ReportSource = objRpt;
CrystalReportViewer1.RefreshReport();
答案 0 :(得分:1)
如果您不想通过参数传递开始日期和日期结束,则必须通过数据集将值返回到报告。
修改强>
您需要通过设计视图将参数添加到Crystal Report。
给他们适当的名字,例如@StartDate
& @EndDate
然后在你的代码中
objRpt.ParameterFields["@StartDate"].CurrentValues.Clear();
objRpt.ParameterFields["@StartDate"].DefaultValues.Clear();
objRpt.ParameterFields["@StartDate"].CurrentValue.Add([YOUR START DATE HERE]);
objRpt.ParameterFields["@EndDate"].CurrentValues.Clear();
objRpt.ParameterFields["@EndDate"].DefaultValues.Clear();
objRpt.ParameterFields["@EndDate"].CurrentValue.Add([YOUR END DATE HERE]);
编辑2:
您还可以动态地向Crystal Report添加值。在Crystal Report上添加两个文本框并为其指定名称。
然后在您的代码中,您可以执行以下操作:
((CrystalDecisions.CrystalReports.Engine.TextObject)objRpt.ReportDefinition.ReportsObjects.Item["NameOfTextObject"]).Text = YOUR DATE;