Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/311.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/264.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Visual Studio ReportViewer总和不适用于十进制字段_C#_Report Viewer2012 - Fatal编程技术网

C# Visual Studio 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") =

我在Reportviewer中有一个简单的报告,页脚上有两个复选框,应该显示一个总和。 但是,总和应该是有条件的:
仅当字段“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")