以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  这段代码有什么问题?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=54763)

--  作者:一辈子只做一件事
--  发布时间:2014/8/4 12:33:00
--  这段代码有什么问题?

 

If e.Row.IsNull(e.Col.Name) = False \'且该列已经输入内容
    If e.Row(e.Col.Name) = "  双" Then
        e.Style = "X0"
    ElseIf e.Row(e.Col.Name) = "单  " Then
        e.Style = "X1"
    End If
End If

请问老师,这段代码有什么问题吗?为什么执行时会有如下提示?

 

调用的目标发生了异常。
从字符串“ 双”到类型“Double”的转换无效。
输入字符串的格式不正确。

 

 


--  作者:Bin
--  发布时间:2014/8/4 12:39:00
--  
你想实现什么效果?  这段代码所有列都会触发,当触发的列是 数值列的时候 你用来和字符串判断对比肯定会报错
--  作者:Bin
--  发布时间:2014/8/4 12:39:00
--  
你应该指定列名

If  e.col.name="列名" andalso e.Row.IsNull("列名") = False \'且该列已经输入内容
    If e.Row(e.Col.Name) = "  双" Then
        e.Style = "X0"
    ElseIf e.Row(e.Col.Name) = "单  " Then
        e.Style = "X1"
    End If
End If

--  作者:一辈子只做一件事
--  发布时间:2014/8/4 12:52:00
--  

明白了,可是如果除了3列,有100列都要执行,要每个列名都写上吗?很麻烦的


--  作者:一辈子只做一件事
--  发布时间:2014/8/4 13:11:00
--  
谢谢老师,解决了。