reportviewer中的比较并不起作用

时间:2015-03-03 12:05:11

标签: c# reportviewer rdlc

报告中的比较如何运作?我尝试了下一个表达式:

=Iif(IsNothing(Fields!COEF.Value), 0, Fields!SUM.Value - Fields!SUM.Value / Fields!COEF.Value)

它永远不会是0.然后当COEF为空时,我已经更改了我的sql查询以使COEF = 0.

=Iif(Fields!COEF.Value = 0, 0, Fields!SUM.Value - Fields!SUM.Value / Fields!COEF.Value)

但它总是通过表达来计算。

1 个答案:

答案 0 :(得分:0)

问题是在得到结果之前评估IIf的真/假部分。但是你可以编写自己的简单函数来克服这个限制。

E.g。 - 在您的报告中 - >报告属性 - >代码

Public Function SafeDiv(n as decimal, d as decimal) as decimal
  If d = 0
    SafeDiv = 0
  Else
    SafeDiv= n / d
  End If
End Function    

然后在你的财产

=Fields!SUM.Value - Code.SafeDiv(Fields!SUM.Value, Fields!COEF.Value)