在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"))
这样,分别在单位中输入m2,m3,m4时,就分别可以取到相对应的值了。