点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
私人ReportDocument mainReport; 受保护的void Page_Init(对象发送者,EventArgs e) { //首次加载报告 if(!IsPostBack ||(ReportDocument)Session [" Report"] == null) { mainReport = new ReportDocument(); mainReport.Load(" C:\\ Users \\ userid \\ Desktop \\ application \\ application.Web \\ CrystalReport \\ Reports \\ CrystalReport1.rpt"); //自动登录数据库而不会提示用户 CrystalReportHelper.ConfigureCrystalReport(mainReport); DataSet ds1 =新的DataSet(" MovieDS"); DataTable表=新的DataTable(" MovieDS"); table.Columns.Add(" TITLE",typeof(System.String)); table.Columns.Add(" YEAR",typeof(System.Int32)); DataRow row1 = table.NewRow(); row1 [" TITLE"] =" title_of_movie"; row1 [" YEAR"] = 1992; table.Rows.Add(row1); ds1.Tables.Add(table); mainReport.Subreports [0] .SetDataSource(ds1); //设置参数 SubreportSettingParameters_RD(mainReport," subReport"," TITLE_PARAM",值); //记住加载的报告 Session.Add(" Report",mainReport); } //连接Crystal Report Viewer以在会话中显示已加载的报告 CrystalReportViewer1.ReportSource =(ReportDocument)Session [" Report"]; /////防止在打开报表时提示参数 CrystalReportViewer1.EnableParameterPrompt = false; } 私人无效SubreportSettingParameters_RD(ReportDocument testReport,字符串subreportName,字符串parameterFieldName,字符串parameterValue) { ParameterDiscreteValue dv =新的ParameterDiscreteValue(); dv.Value = parameterValue; ParameterFields parameterFields = testReport.ParameterFields; ParameterField parameterField = parameterFields [parameterFieldName,subreportName]; parameterField.CurrentValues.Clear(); parameterField.CurrentValues.Add(dv); }
我正在Visual Studio Professional 2017中使用Crystal Report。谢谢!
嗨,翠,
没有子报表参数集合,它是主报表集合的全部一个集合。 如果将报告名称设置为空而不是子报告名称,则代码应该可以正常工作。
在下载页面上,我有一个参数测试应用程序可以为您提供帮助。
https: //wiki.scn.sap.com/wiki/display/BOBJ/Crystal+Reports%2C+Developer+for+Visual+Studio+Downloads
Don
这有效!
现在我遇到另一个问题:可选参数。 编辑:使用mainReport.ParameterFields [" PARAM_NAME"]。CurrentValues.IsNoValue = true;
解决了此问题谢谢您的帮助,唐!
一周热门 更多>