参数值在Crystal Reports中不起作用

2020-09-10 16:52发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)我有一份报告,希望显示1位客户的...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我有一份报告,希望显示1位客户的详细信息。 我创建了一个参数Name = CustomerNumber,Type = Number,值列表= Static。 然后,我使用Select Expert创建以下公式:{CustomerMaster.CUST_NUM} = {?CustomerNumber}

我正在使用 VB.Net (VS2017),这是我正在使用的代码:

将CrxReport用作新的CrystalDecisions.CrystalReports.Engine.ReportDocument

Dim strReportName作为字符串Dim crParameterValues作为CrystalDecisions.Shared.ParameterValues

将crParameterDiscreteValue设置为CrystalDecisions.Shared.ParameterDiscreteValue

将crParameterFieldDefinitions设置为ParameterFieldDefinitions

将crParameterFieldDefinition设置为ParameterFieldDefinition strReportName =" rptTest.rpt"

CrxReport.Load(strReportName,CrystalDecisions.Shared.OpenReportMethod.OpenReportByDefault)

crParameterDiscreteValue =新的CrystalDecisions.Shared.ParameterDiscreteValue

crParameterValues =新的CrystalDecisions.Shared.ParameterValues

crParameterDiscreteValue.Value = 1008

crParameterFieldDefinitions = CrxReport.DataDefinition.ParameterFields

crParameterFieldDefinition = crParameterFieldDefinitions.Item(" CustomerNumber")

crParameterValues = crParameterFieldDefinition.CurrentValues

crParameterValues.Clear()

crParameterValues.Add(crParameterDiscreteValue)crParameterFieldDefinition.ApplyCurrentValues(crParameterValues)CrxReport.ParameterFields.Item(" CustomerNumber")。DefaultValues = crParameterValues

然后我有一个例程,该例程仅用查看者来调用表单:

私人子DisplayReport(ByVal CrxReport为CrystalDecisions.CrystalReports.Engine.ReportDocument,ByVal reportDesc为字符串)

将objfrmRptViewer变暗为新的frmRptViewer

CrxReport.Refresh()

objfrmRptViewer.CRViewer.ReportSource = CrxReport

objfrmRptViewer.CRViewer.RefreshReport()

objfrmRptViewer.CRViewer.ShowExportButton = True

objfrmRptViewer.CRViewer.ShowPrintButton = True

objfrmRptViewer.CRViewer.ShowGroupTreeButton = True

objfrmRptViewer.Text = reportDesc

objfrmRptViewer.Show()

objfrmRptViewer.WindowState = FormWindowState.Maximized

objfrmRptViewer.CRViewer.Zoom(100)

objfrmRptViewer =否

结束子

该报告会运行,但会显示所有客户,而不是我选择的那个客户。

预先感谢您的帮助。

4条回答
wang628962
2020-09-10 17:39

Hi Don,

再次感谢您的回答,我会尝试看看是否是这样。

我想逐步执行您的程序,但是我无法运行它,好像我缺少资源吗? 尝试运行(VS2017)时出现以下错误。

错误CS0234类型或名称空间名称'ObjectFactory'在名称空间中不存在。

在下一行(25)

使用CrystalDecisions.ReportAppServer.ObjectFactory;

与下一行(26)相同

使用CrystalDecisions.ReportAppServer.Prompting;

一周热门 更多>