我一直在尝试使用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参数。
是否有人粘贴正确的代码以将相同的参数传递给子报告。
答案 0 :(得分:1)
只需使用
cryRpt.Subreports("Your Sub Report").SetDataSource(Your Data Source)
在子报告使用中设置参数
cryRpt.SetParameterValue("Sub report Parameter", Value of the parameter, "Sub report Name")