我正在使用此表达式在RDLC列中生成“是”或“否”,基于其他列,但它会出错。为什么?
=IIF(Fields!ApprovalsDraftsmanApproval.Value= 0
or Fields!ApprovalsInspectorApproval.Value= 0
or Fields!ApprovalsPatwariApproval.Value=0, "No", "False")
更新:
LOGIC:请参阅我在RDLC报告中有10列,有3个BIT类型列,现在我拿最后一列来判断3个BIT列中的任何一个是否有FALSE值然后选择是,否则每行都没有
答案 0 :(得分:3)
IIF是一个VB特定语句,它不存在于C#中。而是使用"?" tenary运营商。见下文:
var result = Fields!ApprovalsDraftsmanApproval.Value == 0 ||
Fields!ApprovalsInspectorApproval.Value == 0 ||
Fields!ApprovalsPatwariApproval.Value == 0 ? "No" : "False";
修改
你还需要知道 - 在C#中," ="之间存在差异。和" =="。 " ="用于分配值,而" =="用于比较值。因此,您无法使用" ="来比较C#中的值。操作
答案 1 :(得分:0)
我很多次面对这个问题......我的解决方案是崩溃
if then
else
end if
或者我用Val()
玩了一招=IIF(val(Fields!ApprovalsDraftsmanApproval.Value)= 0
or val(Fields!ApprovalsInspectorApproval.Value)= 0
or val(Fields!ApprovalsPatwariApproval.Value)=0, "No", "False")
它一直对我有所帮助