2011-06-13 72 views
0

我试着将参数传递给水晶报表查看器。但它显示参数不正确。水晶报表查看器参数不正确

昏暗RPT作为新的ReportDocument

  rpt.FileName = My.Application.Info.DirectoryPath & "\MAuditList.rpt" 
     Dim paramDV As New ParameterDiscreteValue() 

     paramDV.Value = frmMachine.machine 
     rpt.ParameterFields("@mchno").CurrentValues.Clear() 
     rpt.ParameterFields("@mchno").DefaultValues.Clear() 
     rpt.ParameterFields("@mchno").CurrentValues.Add(paramDV) 
     paramDV.Value = frmMachine.batch - 1 
     rpt.ParameterFields("@batch").CurrentValues.Clear() 
     rpt.ParameterFields("@batch").DefaultValues.Clear() 
     rpt.ParameterFields("@batch").CurrentValues.Add(paramDV) 
     paramDV.Value = InpStdPt 
     rpt.ParameterFields("@Points").CurrentValues.Clear() 
     rpt.ParameterFields("@Points").DefaultValues.Clear() 
     rpt.ParameterFields("@Points").CurrentValues.Add(paramDV) 
     paramDV.Value = OvrPoints 
     rpt.ParameterFields("@ovrpt").CurrentValues.Clear() 
     rpt.ParameterFields("@ovrpt").DefaultValues.Clear() 
     rpt.ParameterFields("@ovrpt").CurrentValues.Add(paramDV) 

     Form1.CrystalReportViewer1.ReportSource = rpt 
     Form1.Show()</code> 

在这些代码中的任何误差Δθ

回答

0

您应该将参数分配给您的报表对象,然后将报表对象分配给您的CrystalReportViewer。

尝试这样:

'Create report object and load the report 
Dim rpt As New ReportDocument() 
rpt.FileName = My.Application.Info.DirectoryPath & "\MAuditList.rpt" 

'Set the Parameters 
Dim paramDV As New ParameterDiscreteValue() 
paramDV.Value = "Parameter Value" 
rpt.ParameterFields("@ParameterName").CurrentValues.Clear() 
rpt.ParameterFields("@ParameterName").DefaultValues.Clear() 
rpt.ParameterFields("@ParameterName").CurrentValues.Add(paramDV) 

'Assign the report object to the Viewer Report Source 
Form1.CrystalReportViewer1.ReportSource = rpt 
Form1.Show() 
+0

我尝试申报报告,但它显示一个错误。它显示在报告下方的红色下划线() – OMG 2011-06-13 08:09:02

+0

@OMG:您可能需要“导入”Crystal命名空间。试试这两个'导入CrystalDecisions.CrystalReports.Engine'和'导入CrystalDecisions.Shared' – codingbadger 2011-06-13 08:22:28

+0

我加了他们b4,我需要添加任何参考? – OMG 2011-06-13 08:24:55