Foxtable(狐表)用户栏目专家坐堂 → DrawCell事件如何判断当前Cell的值是否为0?


  共有3329人关注过本帖树形打印复制链接

主题:DrawCell事件如何判断当前Cell的值是否为0?

帅哥哟,离线,有人找我吗?
蓝色理想
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:561 积分:4284 威望:0 精华:0 注册:2014/6/12 19:15:00
DrawCell事件如何判断当前Cell的值是否为0?  发帖心情 Post By:2020/8/24 13:04:00 [只看该作者]

想判断一下当前单元格是否为0,若为0或者为Null,都 设置成什么都不显示

请问,如何判断当前单元格是否为0?


下面的代码报错

If e.Col.IsNumeric And e.text = 0 Then 

           e.Text = "" 

   End If




 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111414 积分:567140 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/8/24 14:09:00 [只看该作者]

If e.Col.IsNumeric And e.row(e.col.name) = 0 Then 

 回到顶部
帅哥哟,离线,有人找我吗?
蓝色理想
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:561 积分:4284 威望:0 精华:0 注册:2014/6/12 19:15:00
  发帖心情 Post By:2020/8/24 16:51:00 [只看该作者]

蓝版,出现这么下面错误提示

.NET Framework 版本:4.0.30319.42000
Foxtable 版本:2020.5.29.8
错误所在事件:表,合同汇总表,DrawCell
详细错误信息:
Exception has been thrown by the target of an invocation.
Conversion from string "洛浦杭桂一中" to type 'Double' is not valid.
Input string was not in a correct format.

 回到顶部
帅哥哟,离线,有人找我吗?
蓝色理想
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:561 积分:4284 威望:0 精华:0 注册:2014/6/12 19:15:00
  发帖心情 Post By:2020/8/24 16:52:00 [只看该作者]

难道是  程序 将 string 类型的列  合同名称 和 0 进行了数学运算,发现类型无法转换?

 回到顶部
帅哥哟,离线,有人找我吗?
蓝色理想
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:561 积分:4284 威望:0 精华:0 注册:2014/6/12 19:15:00
  发帖心情 Post By:2020/8/24 17:00:00 [只看该作者]

搞定了,原来是 and 会让两边的 表达式都计算一下,结果导致的错误,修改成这样就ok

If  e.Col.IsNumeric AndAlso e.Row(e.Col.name) = 0 Then
    e.Text = ""
End If

官方的说明:

AndOr,都是先计算左右两个表达式的值,然后再返回结果。
AndAlso
先计算左边表达式的值,如果计算结果为False,则直接返回False,不再计算右边表达式的值。
OrElse
先计算左边表达式的值,如果计算结果为True,则直接返回True,不再计算右边表达式的值。
所以通常用AndAlsoOrElse代替AndOr,因为效率高点。


我这里必须 是 左边成立后才能计算右边,不然 不同类型 比较时 就会出错


 回到顶部