我正在使用Rdlc报告。 我有这些领域:
First name
Address1
Address2
City, state, zip
如果这些字段中的任何一个为空,则不应显示空格。 例如(预期输出)
First name,
Address1,
City, state, zip
但是,如上图所示,我得到了这个:
First name,
Address1,
........................<-(blankspace is showing here)
City, state, zip
我尝试更改Visiblity
- &gt; Expression
- &gt;
=IIF(String.IsNullOrEmpty(Fields!Address2.Value), false,True)
答案 0 :(得分:15)
我认为String.IsNullOrEmpty
的表达不起作用。
尝试使用以下两个选项之一:
1。=IIF(IsNothing(Fields!Address2.Value),False,True)
2。=IIF(Len(Fields!Address2.Value) = 0,False,True)
根据评论,解决方案是创建一个文本框,其中放置两个(或更多)字段,如果第二个字段具有实际值或为空,则连接该值。
所以表达式将是:
=Fields!Name.Value + System.Environment.NewLine + Fields!SAddr_Line1.Value + IIF(Len(Fields!Address2.Value) = 0, "", System.Environment.NewLine + Fields!Address2.Value) + Fields!ShipTo.Value
为了更具可读性:
=Fields!Name.Value
+ System.Environment.NewLine
+ Fields!SAddr_Line1.Value
+ IIF(Len(Fields!Address2.Value) = 0, "", System.Environment.NewLine + Fields!Address2.Value)
+ Fields!ShipTo.Value
答案 1 :(得分:1)
以防这对某人有帮助。
我遇到了同样的问题(而且我的分组非常复杂),直到我做到了:
字段!FieldName.Value * 1
(如果需要,您可以使用CStr()转换为String)
瞧!
答案 2 :(得分:0)
您可以在rdlc报告
中的以下情况中使用if else语句 1=IIF(IsNothing(Fields!Amount.Value),False,True)
2.=IIF(Len(Fields!Amount.Value) = 0,False,True)
=iif(IsNothing(Sum(Fields!Amount.Value)),0.00,True).ToString()
最后一个没有找到记录并显示0正常工作!