我想显示一个文本框字段,如果值为> 0。 如果该字段为0(空),则应隐藏(或不可见)文本框。
我尝试了以下内容: - 在文本框字段(PostageAndPacking)中,我选择 根据epxression显示或隐藏。 并输入以下表达式 = IIF(String.IsNullOrEmpty(Fields!PostageAndPacking.Value),True,False)
但是我收到了错误消息: Der Hidden-AusdruckfürdasTextfeld-Objekt'PostageAndPacking'verwist auf das Feld'PostageAndPacking'。 EinAusdruckfüreinBerichtselement kann nur auf Felder verweisen,die sich im aktuellen datasetbereich oder,wenn der Ausdruck zu einerAggregatfunktiongehört,im angegebenen Datasetbereich befinden。
我的表情有什么问题?或者我需要做些什么才能显示/隐藏与值对应的字段?
谢谢!
答案 0 :(得分:0)
问题是Fields!PostageAndPacking.Value
属于报表中的数据集,并且可能有很多值,因为数据集可能包含许多记录。
所以问题是你想要检查表达式的数据集行中的哪个字段。
从语义上讲,您的数据集可能只有一行,但您仍然需要显式请求第一个元素:
=Not(String.IsNullOrEmpty(First(Fields!PostageAndPacking.Value, "DataSet1")))
假设您的数据集名称为DataSet1
,如果数据的第一个PostageAndPacking
有值,表达式将显示TextBox,如果PostageAndPacking
它将隐藏它是空的。
请注意,由于IIF
返回布尔值,因此您无需使用String.IsNullOrEmpty()
。