0

如果该图像存在于报告上显示的人员记录的数据库中,我想在我的报告上显示该图像。但是,如果该人员记录没有图像,我想在数据库图像所在的确切位置显示嵌入图像。当我将它们放在一起并根据表达式切换可见性时,SSRS 似乎正在“保留”隐藏图像的空间。例如,如果嵌入图像位于报表上的数据库图像之上,并且嵌入图像设置为隐藏 SSRS 将在可见图像右侧显示一个空白区域。

我试图将图像放在表格中并在没有运气的情况下切换列并使用图像设置(自动调整、剪辑等)。看起来我们不能使用表达式,因为它们属于不同的类型(嵌入式与数据库)。除了将嵌入的图像放入数据库之外,还有什么方法可以做到这一点?

4

2 回答 2

0

我们让它工作的方式是创建一个 Tablix,然后切换列的可见性。有趣的是,Tablix 的工作方式与 Table 不同,但确实如此。

我们发现这个讨论了这个问题:

http://sqlserverpedia.com/blog/sql-server-bloggers/dealing-with-white-space-due-to-a-hidden-textbox-in-reporting-services/

于 2012-04-05T14:09:07.253 回答
0

在表格的单元格中放置一个矩形对象,以便您可以自由放置图像项。将默认嵌入图像添加到您的 rdl 中,将其命名为 defaultImage。由于来自数据库的数据类型将是 byte[],为了让您检查数据库字段值是否为空,您在默认嵌入图像上的可见性表达式将是:

 =Not(IsNothing(Fields!{FieldName}.Value))

现在,当数据库中有字段值时,您的默认图像将隐藏。在默认图像的顶部放置一个新的图像对象,大小相同。此图像将直接使用数据库字段值,无需抑制。当 byte[] 为空时,数据库图像将不显示,而嵌入的(默认图像)将显示。

于 2015-12-10T13:38:26.147 回答