Crystal Reports使用VB.Net将参数传递给子报表

时间:2015-01-13 08:39:15

标签: vb.net parameters crystal-reports send subreport

我一直在尝试使用Vb.Net将参数传递给crystal report子报表,但每次都失败。

我可以成功将参数传递给主报告,但不能传递给子报告。

主要报告包含有关员工的主要信息,子报告包含有关其学历的详细信息。所有使用int类型的serviceNo链接。我在两个名为serviceNo的报告中都有参数。

这是我的代码:

Dim frmReport As New frmReport
Dim repDoc As New ReportDocument

Dim crParameterFieldDefinitions As ParameterFieldDefinitions
Dim crParameterFieldDefinition As ParameterFieldDefinition
Dim crParameterValues As New ParameterValues
Dim crParameterDiscreteValue As New ParameterDiscreteValue

crParameterDiscreteValue.Value = serviceNo
crParameterFieldDefinitions = repDoc.DataDefinition.ParameterFields
crParameterFieldDefinition = crParameterFieldDefinitions.Item("serviceNo")
crParameterValues = crParameterFieldDefinition.CurrentValues

crParameterValues.Clear()
crParameterValues.Add(crParameterDiscreteValue)
crParameterFieldDefinition.ApplyCurrentValues(crParameterValues)

在这段代码安静之后,我得到一个提示,请求子报告的serviceNo参数。

是否有人粘贴正确的代码以将相同的参数传递给子报告。

1 个答案:

答案 0 :(得分:1)

只需使用

  cryRpt.Subreports("Your Sub Report").SetDataSource(Your Data Source)

在子报告使用中设置参数

  cryRpt.SetParameterValue("Sub report Parameter", Value of the parameter, "Sub report Name")