Naif SSRS IIF为TRUE时执行Else?

问题描述 投票:0回答:1

我无法在页脚中显示图像。我在报告代码部分共享的Data1作为对象

Public Function GetData(Num as Integer, Group as integer) as Object
if Group = 1 then
   Return Cstr(Choose(Num, Split(Cstr(Data1),Chr(177))))
End If
End 

和用于设置数据的相同。

在数据库中,我将图像存储为斑点。报告中的直接显示正在工作。现在,我必须在报表的页脚中显示图像。我已经制作了一张表格,并且在一个单元格的内部使用隐藏的表达式将图像插入到对象中。

现在是问题。我尝试用

Code.SetData(IIF(IsNothing(First(Fields!CompanyPicture.Value, "DataSet_Result")) = TRUE, "", Convert.ToBase64String(Fields!CompanyPicture.Value) + Chr(177), 1)

报表现在在此表达式上崩溃,因为隐藏表达式不能为NULL。我不明白,为什么要从IIF执行else树。 IsNothing正确无误,并为我提供了True。

任何想法,如果图像为空,该怎么办?

最好的问候比约恩

image reporting-services report navision
1个回答
0
投票

首先,我要说的是样式:我永远不会检查是否等于真。只需写IIf(isNothing(...), "", ...)

[第二,您仅检查数据集中的第一个条目是否不是空,而是为数据集中的每个条目调用convert方法。因此,例如,如果您的数据集有两个条目,其中第一个不是空而第二个是,那么在评估第二个条目的表达式时会遇到问题。

© www.soinside.com 2019 - 2024. All rights reserved.