关于交换机表达的ReportViewer VB.NET(Reportviewer VB.NET ab

2019-10-28 11:48发布

大家好任何人都可以纠正RDLC表我的代码

我有1个表和该表有一个字段!ANS1这是计算的平均列(红圈IMAGE),那么我想,平均过滤到一个if语句,以确定如果平均是同意,不同意或Stronglyagree(黑圆IN THE IMAGE)

这里是我的RDLC表的图片的黑圈是if语句,将确定是否在红色圆圈平均低于是否同意,不同意或非常同意,但我有一个问题,因为语句总是堆在不同意,甚至它的价值3

// Here is my Code in the Black Circle in the IMAGE
=Switch(Fields!ans1.Value < 1, "Strongly Disagree ",
Fields!ans1.Value > 2, " Disagree",
Fields!ans1.Value > 3, "Agree",
Fields!ans1.Value > 4, "Strongly Agree"
)

//Here is the Code in the RedCircle 
=Avg(CDbl(Fields!ans1.Value))

Answer 1:

请记住,任何形式的switch语句评估自上而下的。 大于2 3.00? 的确是这样,所以结果是“不同意”(为什么你还没有注意到并删除流氓空间,我不知道)。 如果你打算使用“大于”运算符来比较,那么你需要首先这个比较的最大值:

=Switch(Fields!ans1.Value < 1, "Strongly Disagree",
Fields!ans1.Value > 4, "Strongly Agree",
Fields!ans1.Value > 3, "Agree",
Fields!ans1.Value > 2, "Disagree"
)

应该管用。 这是你应该在数学课堂所学只是基本的逻辑。 请注意,我已删除流氓空间了。

顺便说一句,这仍然是要在范围1.0至忽略任何值 - 2.0。



文章来源: Reportviewer VB.NET about Switch Expression