水晶报表中公式字段if else 语句无法正常执行的问题
公式字段内容如下:
if {MainTable.bOtherDoc}="on" then
chrw(254)
else
chrw(168)
MainTable.bOtherDoc来自于复选框直接通过FromConnection获得的字符串值,当选中时为“on",不选中时候为null
上述公式字段只有当值为on时候才能正常执行,也就是说else永远不执行。
其它环境:
水晶报表采用了push方式,骨架用了数据集Delegation.xsd, 其中只有一个表MainTable
解决办法:
将xsd中的MainTable.bOtherDoc字段默认值改为""或者其它非null又非"on"的字符串,则上述公式字段能正常工作。
注:MainTable.bOtherDoc字段的默认值修改前为:<DBNull>
也就是说,都是这个默认的<DBNull>值惹的祸!!!