C# Visual Studio ReportViewer总和不适用于十进制字段
我在Reportviewer中有一个简单的报告,页脚上有两个复选框,应该显示一个总和。 但是,总和应该是有条件的:C# Visual Studio ReportViewer总和不适用于十进制字段,c#,report-viewer2012,C#,Report Viewer2012,我在Reportviewer中有一个简单的报告,页脚上有两个复选框,应该显示一个总和。 但是,总和应该是有条件的: 仅当字段“Checked”为真时,该值才必须包含在总和中 对于第一个字段,这没有问题,但是对于第二个字段,我在报告中得到了#error 第一个字段是整数字段,第二个是十进制字段。 以下是我在两个文本框的value属性中使用的表达式: =Sum(IIf(Fields!Checked.Value, Fields!TotaalBedrag.Value, 0), "DataSet1") =
仅当字段“Checked”为真时,该值才必须包含在总和中 对于第一个字段,这没有问题,但是对于第二个字段,我在报告中得到了#error 第一个字段是整数字段,第二个是十进制字段。 以下是我在两个文本框的value属性中使用的表达式:
=Sum(IIf(Fields!Checked.Value, Fields!TotaalBedrag.Value, 0), "DataSet1")
=Sum(IIf(Fields!Checked.Value, Fields!TotaalAantalKM.Value, 0), "DataSet1")
选中的字段为布尔值且不为空TotaalBedrag字段为整数且不为空
TOTAALANTALKM字段为十进制且不为空 TotaalBedrag字段的和是正确的,但TOTAALANTALKM字段的和返回#错误 如果我写
=Sum(Fields!TotaalAantalKM.Value, "DataSet1")
然后我得到了一个正确的和,所以我猜这个字段没有问题。这两个字段之间的唯一区别是一个是int,另一个是decimal。
是否需要为十进制字段执行一些特殊操作?列“TotaalAantalKM”的数据类型为十进制,因此您需要将默认值转换为0.00或将列转换为双精度
=总和(iif(字段!Checked.Value,cdbl(字段!TotaalAantalKM.Value),0.00))对于十进制值,必须使用“0D”而不是“0”。 所以你的表情会变成:
=Sum(IIf(Fields!Checked.Value, Fields!TotaalAantalKM.Value, 0D), "DataSet1")