RDLC 子报表参数未按预期工作
RDLC Subreport Parameters Not Working as Expected
我有一个 RDLC 报告,它显示有关金融交易的基本信息,并且在该报告中我有一个子报告来显示这些交易的详细信息。
我在获取在主报表和子报表之间传递的参数时遇到了一些问题。子报表接受一个参数:TransactionID
。当我将主报表设置为每行发送 TransactionID
的实际值时,SubreportProcessing
事件处理程序从不触发,并且当我尝试展开子报表时,有关空引用异常的消息出现在调试输出,但我无法捕获此异常以准确找出 what 为空。随着空引用异常,子报表显示:
Error: Subreport could not be shown
作为测试,我尝试对 TransactionID
的值 0
进行硬编码,然后为每一行触发 SubreportProcessing
事件,但结果显然不正确。这让我怀疑主报告行中的 TransactionID
值在尝试将其用作参数时以某种方式出现 null
,但我不明白这是怎么发生的,或如何修复它。
编辑:
由于文字值 0
有效,我决定尝试实际报告 (2652791667
) 中的 TransactionID
值之一,并发现它在这些条件下也失败了。注意到给定的值超出了 Int32
的范围,我尝试了一个较小的数字,但效果很好。
Int32
问题就是答案。我尝试将子报表的 TransactionID
参数更改为文本,但显然无法将 TransactionID
的数值从主报表数据自动转换为字符串。
最后,我在我的数据集中添加了一个名为 TransactionIDStr
的字段,并用 TransactionID.ToString()
填充它,现在它可以正常运行了。
我有一个 RDLC 报告,它显示有关金融交易的基本信息,并且在该报告中我有一个子报告来显示这些交易的详细信息。
我在获取在主报表和子报表之间传递的参数时遇到了一些问题。子报表接受一个参数:TransactionID
。当我将主报表设置为每行发送 TransactionID
的实际值时,SubreportProcessing
事件处理程序从不触发,并且当我尝试展开子报表时,有关空引用异常的消息出现在调试输出,但我无法捕获此异常以准确找出 what 为空。随着空引用异常,子报表显示:
Error: Subreport could not be shown
作为测试,我尝试对 TransactionID
的值 0
进行硬编码,然后为每一行触发 SubreportProcessing
事件,但结果显然不正确。这让我怀疑主报告行中的 TransactionID
值在尝试将其用作参数时以某种方式出现 null
,但我不明白这是怎么发生的,或如何修复它。
编辑:
由于文字值 0
有效,我决定尝试实际报告 (2652791667
) 中的 TransactionID
值之一,并发现它在这些条件下也失败了。注意到给定的值超出了 Int32
的范围,我尝试了一个较小的数字,但效果很好。
Int32
问题就是答案。我尝试将子报表的 TransactionID
参数更改为文本,但显然无法将 TransactionID
的数值从主报表数据自动转换为字符串。
最后,我在我的数据集中添加了一个名为 TransactionIDStr
的字段,并用 TransactionID.ToString()
填充它,现在它可以正常运行了。