很遗憾,我不是Crystal Report的专家,所以我将在此处发布我的问题,希望对我的问题有所帮助。
我想在报告中显示SQL RecordSet上过滤器的结果;这个RecordSet是从单个表中查找的,我想显示其中的SQL表的某些字段,而我想应用的过滤器是基于我要以编程方式设置的字段参数(定义为静态)。
在下面,我将我的代码附加到应用记录选择公式的位置,我还尝试对值进行硬编码,而不是通过下拉选择传递它:
ReportDocument RPT_Doc = new ReportDocument();
RPT_Doc.Load(RPT_Path_Name, OpenReportMethod.OpenReportByDefault);
ApplyConnInfos(ref RPT_Doc);
RPT_Doc.SetParameterValue("data_riferimento", "20161001");
RPT_Doc.RecordSelectionFormula = "{viaggi.data_part_pre} = '20161001'";
crystalReportViewer1.ReportSource = RPT_Doc;
在所附的第一张图片中,您可以找到字段参数定义,而第二张图片是我在报告中定义的记录选择公式:
该报告始终显示表中的所有记录(超过一万行),而不显示过滤的RecordSet。奇怪的是,Visual Studio中的 Preview函数就像一个魅力;当我确认该值时,它会提示该字段值。查看器将显示报告,其中包含按预期过滤的行。
报表/ C#程序配置中我缺少什么来使记录选择起作用?
在此先感谢您可以给我的任何建议:)
莱昂纳多