有条件地控制 .NET 报告 (rdlc) 中背景图像的可见性

Sen*_*Sen 2 vb.net reporting-services

快速摘要:如何使用 .NET 中的内置 .rdlc 报告功能(我使用的是 VB)有条件地控制(在运行时)报告中背景图像的可见性。

故事:我有一个创建“证书”的系统。证书是基于报告定义 (.rdlc) 创建的,并以 PDF 格式显示给用户,他们永远不会看到报告查看器控件。该系统有一个公共测试站点以及实时生产站点。我们想在测试系统创建的任何证书上放置水印图像。基本上是因为我们不希望有人创建测试证书并将其作为真实证书传递出去。当站点在测试模式下运行时,有一个系统级标志为真,我想触发背景图像的可见性,仅当该变量为真时才作为水印。这时候我可以用这个测试模式变量传递一个报告参数,但是找不到触发背景图像可见性的方法。

如果需要更多信息或进一步澄清,请告诉我。

谢谢。

Sen*_*Sen 6

嗯,我想出来的比我预期的要快。在这种情况下,技巧是对 BackgroundImage 属性的值使用表达式(源设置为 Embedded)。就我而言,它看起来像这样:

=iif(Parameters!ShowTestWaterMark.Value, "WatermarkVoid1", nothing)
Run Code Online (Sandbox Code Playgroud)

其中Parameters!ShowTestWaterMark.Value是 True 或 False 的参数,"WatermarkVoid1"是嵌入图像的名称。

虽然这不会直接切换图像的可见性,但它确实满足我的要求,即只在特定情况下显示图像。