首页 > 代码库 > 水晶报表中公式字段if else 语句无法正常执行的问题

水晶报表中公式字段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>值惹的祸!!!