【发布时间】:2018-09-19 13:51:35
【问题描述】:
我有一个 RDLC 报告,它显示有关金融交易的基本信息,在该报告中我有一个子报告来显示这些交易的详细信息。
我在获取参数以在主报表和子报表之间传递时遇到了一些问题。子报表接受一个参数:TransactionID。当我将主报告设置为每行发送TransactionID 的实际值时,SubreportProcessing 事件处理程序永远不会触发,当我尝试展开子报告时,调试输出中会出现有关空引用异常的消息,但我无法捕捉到此异常以准确找出 what 为空。除了空引用异常,子报表还会显示:
错误:无法显示子报表
作为测试,我尝试将值0 硬编码为TransactionID,然后为每一行触发SubreportProcessing 事件,但结果显然不正确。这使我怀疑主报告行中的TransactionID 值在尝试将其用作参数时以某种方式出现null,但我不明白这是怎么发生的,或者如何修复它。
编辑:
由于文字值0 有效,我决定尝试实际报告中的TransactionID 值之一(2652791667),并发现它在这些条件下也失败了。注意到给定的值超出了Int32 的范围,我尝试了一个较小的数字,它起作用了。
【问题讨论】:
标签: c# reporting rdlc subreport