这在Visual Studio 2008中正常工作,但由于我已切换到Visual Studio 2010和Crystal Reports for Visual Studio 2010,因此忽略了传递的参数.
它们显示在报告中,在选择公式时忽略了!这是我创建报告和传递参数的代码.
private void Prepare() { var reportDocument = new ReportDocument(); string reportPath = string.Format( "{0}\\{1}",Globals.FormPath,this.FormTemplate.Filename); reportDocument.Load(reportPath); ParameterdiscreteValue parameter; foreach (var control in this.FormTemplateFieldControls) { switch (control.FormTemplateField.DataType) { case FormFieldDataType.Date: this.AddParameterForDateTime( reportDocument,control.FormTemplateField.Name,(DateTime)control.EditValue); break; case FormFieldDataType.DateTime: this.AddParameterForDateTime( reportDocument,(DateTime)control.EditValue); break; case FormFieldDataType.Time: this.AddParameterForDateTime( reportDocument,(DateTime)control.EditValue); break; case FormFieldDataType.Guid: this.AddParameterForGuid( reportDocument,(Guid)control.EditValue); break; default: this.AddParameterForString( reportDocument,control.EditValue.ToString()); break; } } this.SetConnectionInfo(reportDocument); var frm = new FormViewer(); frm.Report = reportDocument; frm.ShowDialog(); frm.dispose(); this.Close(); }
当我从设计师运行报告时它工作得很好.当我在报告中显示参数时,您可以看到参数正在传递.
对于从存储过程运行的报表,参数似乎传递得很好,它只是由所有表组成的参数.
对于它的价值,这是我的选择公式:
{employee.HireDate} >= {?StartDate} And {employee.HireDate} <= {?EndDate}
解决方法
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。