SSRS显示嵌入式或数据库映像

时间:2012-04-04 21:09:03

标签: reporting-services

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

我试图将图像放在一个表格中并且没有运气地切换列,并且使用图像设置(AutoFit,Clip等)。看起来我们不能使用表达式,因为它们具有不同的类型(嵌入式对数据库)。除了将嵌入的图像放入数据库之外,还有什么方法可以做到这一点吗?

2 个答案:

答案 0 :(得分:0)

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

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

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

答案 1 :(得分:0)

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

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

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