点击此处---> 群内免费提供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 =否
结束子
该报告会运行,但会显示所有客户,而不是我选择的那个客户。
预先感谢您的帮助。
你好Eddie,
我将VS的主要标签更改为CR。
CR不再安装.NET运行时。
转到此处获取最新信息并阅读所有内容:
https: //wiki.scn.sap.com/wiki/display/BOBJ/Crystal+Reports%2C+Developer+for+Visual+Studio+Downloads
在该页面上是我编写的用于处理参数的测试应用,它是C#,但工作方式相同:
how-to- 视觉工作室的晶体报告中的参数
Don
Hi Don,
感谢您的回答,但是您发送给我的示例与我所做的完全不同吗? 我的代码不再使用了吗? 您有简单传递参数的示例吗?
谢谢
我的示例在C#中,尽管工作流程相同,但是您将在调试模式下运行以查看发生了什么。
Don 不会在查看器中刷新报表,您将使之前设置的所有值都为空。
然后设置值,然后将其清除:
crParameterDiscreteValue.Value = 1008 p>
crParameterValues.Clear()
Hi Don,
再次感谢您的回答,我会尝试看看是否是这样。
我想逐步执行您的程序,但是我无法运行它,好像我缺少资源吗? 尝试运行(VS2017)时出现以下错误。
错误CS0234类型或名称空间名称'ObjectFactory'在名称空间中不存在。
在下一行(25)
使用CrystalDecisions.ReportAppServer.ObjectFactory;
与下一行(26)相同
使用CrystalDecisions.ReportAppServer.Prompting;
一周热门 更多>