【问题标题】:RDLC Subreport Parameters Not Working as ExpectedRDLC 子报表参数未按预期工作
【发布时间】:2018-09-19 13:51:35
【问题描述】:

我有一个 RDLC 报告,它显示有关金融交易的基本信息,在该报告中我有一个子报告来显示这些交易的详细信息。

我在获取参数以在主报表和子报表之间传递时遇到了一些问题。子报表接受一个参数:TransactionID。当我将主报告设置为每行发送TransactionID 的实际值时,SubreportProcessing 事件处理程序永远不会触发,当我尝试展开子报告时,调试输出中会出现有关空引用异常的消息,但我无法捕捉到此异常以准确找出 what 为空。除了空引用异常,子报表还会显示:

错误:无法显示子报表

作为测试,我尝试将值0 硬编码为TransactionID,然后为每一行触发SubreportProcessing 事件,但结果显然不正确。这使我怀疑主报告行中的TransactionID 值在尝试将其用作参数时以某种方式出现null,但我不明白这是怎么发生的,或者如何修复它。

编辑: 由于文字值0 有效,我决定尝试实际报告中的TransactionID 值之一(2652791667),并发现它在这些条件下也失败了。注意到给定的值超出了Int32 的范围,我尝试了一个较小的数字,它起作用了。

【问题讨论】:

    标签: c# reporting rdlc subreport


    【解决方案1】:

    Int32 问题就是答案。我尝试将子报表的TransactionID 参数更改为Text,但它显然无法将TransactionID 的数值从主报表数据自动转换为字符串。

    最后,我在我的数据集中添加了一个名为TransactionIDStr 的字段,并用TransactionID.ToString() 填充它,现在它可以完美运行了。

    【讨论】:

      猜你喜欢
      • 2018-10-19
      • 2016-07-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-10
      • 2020-11-16
      • 1970-01-01
      • 1970-01-01
      • 2017-05-13
      相关资源
      最近更新 更多