c# - 无法将 int 参数传递给 Crystal Report

标签 c# visual-studio-2010 crystal-reports-xi

我有一个带有单个参数的简单 Crystal 报表,它应该在报表上生成单个项目。我在下面列出了代码,以及报告中的参数设置。当我尝试将报告打印到打印机时(代码片段中的最后一行),我收到以下异常;

CrystalDecisions.CrystalReports.Engine.ParameterFieldCurrentValueException 未处理 消息=缺少参数值。

我还尝试使用 ParameterFieldDefinitions 和 ParameterFieldDefinition 对象生成报告,但最终得到相同的结果。

任何帮助将不胜感激。

        ReportDocument loReport = new ReportDocument();

        loReport.Load(path+"InventoryItemsBarCodeLabel.rpt");

        SqlConnectionStringBuilder loConnectionString = new SqlConnectionStringBuilder(ConnectionUtilities.getConnectionString());

        ParameterValues currentParameterValues = new ParameterValues();
        ParameterDiscreteValue parameterDiscreteValue = new ParameterDiscreteValue();
        parameterDiscreteValue.Value = Convert.ToInt32(psMasterId);

        loReport.SetParameterValue("pnMasterId", parameterDiscreteValue.Value);
        loReport.SetDatabaseLogon(loConnectionString.UserID,
            loConnectionString.Password,
            loConnectionString.DataSource,
            loConnectionString.InitialCatalog);
        loReport.Refresh();
        loReport.PrintToPrinter(1, false, 1, 1);

报告参数:名称:pmMasterId,类型:数字,值列表:动态,值 = MasterId,描述 = MasterId,参数 = ?pnMasterId

报告选择记录:{Inventory_Items.MasterId} = {?pnMasterId}

最佳答案

尝试将SetDatabaseLogon()方法移到之前设置参数;我相信它会重置报告文档和之前传递的任何参数。

关于c# - 无法将 int 参数传递给 Crystal Report,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12625956/

相关文章:

java - Crystal 报表仅限于三个并发用户请求

crystal-reports - 如何有条件地更改 Crystal 报表图表中的轴刻度?

c# - 领域驱动开发和丰富的 GUI

c# - 自定义扩展未在实验实例中显示

c# - MonoMac/Xamarin.Mac 上的 PCLStorage - NotImplementedException?

visual-studio-2010 - 控制台应用程序图标不会更新

c# - Visual Studio 2010 线程窗口中的 <Not Available> 和 [Thread Destroyed] 详细信息

c# - 如何以编程方式退出或关闭 UWP 应用程序? (Windows 10)

visual-studio-2010 - 我在 Visual Studio 中丢失了数据集 Pane

java - Crystal Reports XI 中未找到 JDBC 驱动程序错误?