2012-04-04 80 views
0

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

我试图把图像放在一张桌子上,没有运气的时候切换栏目,并使用图像设置(AutoFit,Clip等)进行游戏。它看起来不像我们可以使用表达式,因为它们是不同类型的(嵌入式和数据库)。除了将嵌入式图像放入数据库之外,还有什么办法可以做到这一点吗?

+0

今天我没有时间来测试这个,但是如果将每个图像项目放入一个单独的矩形中,并尝试设置矩形可见性,会发生什么?布局报表项目时,矩形的处理方式有点不同:它们允许在页面上布置稍后的项目时使用不同的层次结构,因此这些矩形不依赖于矩形中的项目大小。 – 2012-04-04 22:25:40

+0

矩形不起作用,因为SSRS不允许我们将矩形放在另一个矩形的顶部。它会自动在我们想要的底部添加矩形。 – Drew 2012-04-05 14:10:16

回答

0

把矩形对象在表格的单元格,使您可以在图像项目的自由形式布局。将默认嵌入式图像添加到您的rdl中,将其称为defaultImage。由于从数据库中的数据类型将是一个byte [],为了让您检查数据库字段值为空,默认的嵌入图像上的曝光率表达是:

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

现在默认当数据库中存在字段值时,图像将会隐藏。在默认图像上放置一个新的图像对象,大小相同。该图像将直接使用数据库字段值,不需要进行抑制。当字节[]为空时,数据库图像将不会显示,并且会显示嵌入的(默认图像)。