标签:c visual-studio-2010 crystal-reports crystal-reports-2010
这在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,
control.FormTemplateField.Name,
(DateTime)control.EditValue);
break;
case FormFieldDataType.Time:
this.AddParameterForDateTime(
reportDocument,
control.FormTemplateField.Name,
(DateTime)control.EditValue);
break;
case FormFieldDataType.Guid:
this.AddParameterForGuid(
reportDocument,
control.FormTemplateField.Name,
(Guid)control.EditValue);
break;
default:
this.AddParameterForString(
reportDocument,
control.FormTemplateField.Name,
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}
解决方法:
使用最新版本的Crystal Reports for Visual Studio 2010已解决此问题.
标签:c,visual-studio-2010,crystal-reports,crystal-reports-2010
来源: https://codeday.me/bug/20190710/1421260.html
本站声明:
1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。