使用 CR 相对较新。最近将许多以前通过 vbscripts 执行的旧报告转换为使用 vb.net 运行。
我有一份无法工作的特定报告。为了运行,它需要一个存储在名为“DateRange”的参数字段中的日期范围
在调用此报告并将其导出的旧 vb 脚本中,传递此日期范围参数的代码是:
Set crParms = CrystalReport.ParameterFields
crParms.Item(1).AddCurrentRange CDate(StartDate), CDate(EndDate), 3
任何人都可以帮我解决这个代码在 vb.net 中的样子吗?我有点困惑,因为报告中的“DateRange”参数是单个变量。那么它是否需要日期集合或其他内容?
我只是创建一个简单的控制台项目来调用报告、传递日期范围并导出报告。我已经能够找出导出报告的代码,并且效果很好。我只需要弄清楚如何将我的日期范围传递到报告中。
谢谢!
最佳答案
如果其他人需要帮助将两个日期从 VB.NET 传递到 Crystal 报表中的单个 DateRange 参数,这就是最终对我有用的方法:
Const PARAMETER_FIELD_NAME As String = "DateRange"
Dim startDate as Date
Dim endDate as Date
<other code>
Dim crParameterFieldDefinitions As ParameterFieldDefinitions
Dim crParameterFieldDefinition As ParameterFieldDefinition
Dim crParameterValues As New ParameterValues
Dim crParameterRangeValue As New ParameterRangeValue
crParameterRangeValue.StartValue = startDate
crParameterRangeValue.EndValue = endDate
crParameterFieldDefinitions = cryReport.DataDefinition.ParameterFields
crParameterFieldDefinition = crParameterFieldDefinitions.Item(PARAMETER_FIELD_NAME)
crParameterValues = crParameterFieldDefinition.CurrentValues
crParameterValues.Clear()
crParameterValues.Add(crParameterRangeValue)
crParameterFieldDefinition.ApplyCurrentValues(crParameterValues)
<other code>
我确实找到了this tutorial对编写上面对我有用的代码非常有帮助。
关于vb.net - Crystal Report - 传递 DateRange 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13161553/