如果该图像存在于报告中显示的人员记录的数据库中,我想在报告中显示图像。但是,如果该人员记录没有图像,我想在数据库图像所在的确切位置显示嵌入图像。当我将它们放在彼此之上并根据表达式切换可见性时,SSRS似乎“保持”隐藏图像的空间。例如,如果嵌入的图像位于报表上的数据库图像之上,并且嵌入的图像设置为隐藏,则SSRS将在可见图像的右侧显示空白区域。
我试图将图像放在一个表格中并且没有运气地切换列,并且使用图像设置(AutoFit,Clip等)。看起来我们不能使用表达式,因为它们具有不同的类型(嵌入式对数据库)。除了将嵌入的图像放入数据库之外,还有什么方法可以做到这一点吗?
答案 0 :(得分:0)
我们使用它的方法是创建一个Tablix,然后切换列可见性。有趣的是,Tablix的工作方式与表格不同,但确实如此。
我们发现了这个问题,讨论了这个问题:
答案 1 :(得分:0)
将矩形对象放在表格的单元格中,以便您可以自由放置图像项目。将默认嵌入图像添加到rdl中,将其命名为defaultImage。由于数据库中的数据类型是byte [],为了检查数据库字段值是否为null,默认嵌入图像上的可见性表达式将为:
=Not(IsNothing(Fields!{FieldName}.Value))
现在,当数据库中存在字段值时,您的默认图像将隐藏。将新图像对象放在默认图像的顶部,大小相同。此图像将直接使用数据库字段值,无需抑制。当byte []为空时,数据库图像将不会显示,嵌入的(默认图像)将显示。