Foxtable(狐表)用户栏目专家坐堂 → [求助]prepareEdit里用In判断某列的值是否在一个范围内,出现错误


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

主题:[求助]prepareEdit里用In判断某列的值是否在一个范围内,出现错误

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


加好友 发短信
等级:二尾狐 帖子:574 积分:4332 威望:0 精华:0 注册:2013/7/26 10:24:00
[求助]prepareEdit里用In判断某列的值是否在一个范围内,出现错误  发帖心情 Post By:2013/10/9 10:28:00 [只看该作者]

If e.IsFocusCell Then
    If e.Col.name="列3" Then
        If e.Row("列2").value In ('A','B') Then    ‘提示此名有错误,应为语句结束
            e.Col.comlist=e.Table.Cols("列2").comlist
        End If
    End If
End If

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/10/9 10:40:00 [只看该作者]

你是希望 列2  的值只能是A 或者B吗?

If e.IsFocusCell Then
    If e.Col.name="列3" Then
        If e.Row("列2") = 'A' orElse  e.Row("列2") ='B' Then    ‘提示此名有错误,应为语句结束
            e.Col.comlist=e.Table.Cols("列2").comlist
        End If
    End If
End If

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


加好友 发短信
等级:二尾狐 帖子:574 积分:4332 威望:0 精华:0 注册:2013/7/26 10:24:00
  发帖心情 Post By:2013/10/9 10:47:00 [只看该作者]

If e.Row("列2").value In ('A','B') Then 
用这种方式判断不可行?
我觉得当判断数量较多(>3个)时,我觉得用In更简洁些。


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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/10/9 11:06:00 [只看该作者]

没有这种方式哦, 如果是判断英文字母的话,可以使用正则表达式验证

例如 想判断 ABC

if messagebox.show(RegularExpressions.Regex.IsMatch(e.Row("列2"),"[A-C]{1}")) then

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


加好友 发短信
等级:二尾狐 帖子:501 积分:4167 威望:0 精华:0 注册:2013/1/18 13:34:00
  发帖心情 Post By:2013/10/12 12:48:00 [只看该作者]

in 不能用在代码中是个极大的失误!

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


加好友 发短信
等级:二尾狐 帖子:501 积分:4167 威望:0 精华:0 注册:2013/1/18 13:34:00
  发帖心情 Post By:2013/10/12 12:49:00 [只看该作者]

 用in和不能用in的区别:

 

If e.Row("列2").value In ('A','B') 

 

If e.Row("列2") = 'A' orElse  e.Row("列2") ='B'     


 回到顶部