转发时的Rdlc报告对齐为空或为空

时间:2012-12-11 09:36:31

标签: rdlc

here is my problem

我正在使用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)

3 个答案:

答案 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正常工作!