Expression Builder中IIF的使用方法


Expression Builder中,可以使用IIF行条件的判断,从而取得相应的值。IFF(A,B,C)中包含了三个参数ABC。当A条件满足时,返回B值,当A条件不满足时,返回C值。当然,如果有多个条件,也可以将IIF嵌套进去。

 

例如:在根据单位取值中,如果单位为m2时,赋值“取值为m2”,如果单位为m3时,赋值“取值为m3

 

我们可以这样编写表达式

IIF(this.GetItem("DgnCustomItemTypes_Test:ABC")["单位"]="m2","取值为m2","取值为m3")

 

当在单位中输入m2时,可以看到根据单位取值的值变为值为m2

 

当在单位中输入m3时,可以看到根据单位取值的值变为值为m3

 

那么,如果如果单位中如果还存在一个m4,这个时候应该怎样编写表达式呢?

我们可以如下编写

IIF(this.GetItem("DgnCustomItemTypes_Test:ABC")[""]="m2","值为m2", IIF(this.GetItem("DgnCustomItemTypes_Test:ABC")[""]="m3","值为m3","值为m4"))

 

这样,分别在单位中输入m2m3m4时,就分别可以取到相对应的值了。