以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- DrawCell事件如何判断当前Cell的值是否为0? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=153819) |
-- 作者:蓝色理想 -- 发布时间:2020/8/24 13:04:00 -- DrawCell事件如何判断当前Cell的值是否为0? 想判断一下当前单元格是否为0,若为0或者为Null,都 设置成什么都不显示 请问,如何判断当前单元格是否为0? 下面的代码报错 If e.Col.IsNumeric And e.text = 0 Then e.Text = "" End If |
-- 作者:有点蓝 -- 发布时间:2020/8/24 14:09:00 -- If e.Col.IsNumeric And e.row(e.col.name) = 0 Then |
-- 作者:蓝色理想 -- 发布时间: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.
|
-- 作者:蓝色理想 -- 发布时间:2020/8/24 16:52:00 -- 难道是 程序 将 string 类型的列 合同名称 和 0 进行了数学运算,发现类型无法转换? |
-- 作者:蓝色理想 -- 发布时间:2020/8/24 17:00:00 -- 搞定了,原来是 and 会让两边的 表达式都计算一下,结果导致的错误,修改成这样就ok If e.Col.IsNumeric AndAlso e.Row(e.Col.name) = 0 Then e.Text = "" End If 官方的说明: And和Or,都是先计算左右两个表达式的值,然后再返回结果。 我这里必须 是 左边成立后才能计算右边,不然 不同类型 比较时 就会出错 |