Foxtable(狐表)用户栏目专家坐堂 → 格式判断


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

主题:格式判断

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


加好友 发短信
等级:三尾狐 帖子:774 积分:8830 威望:0 精华:0 注册:2017/1/26 14:38:00
格式判断  发帖心情 Post By:2018/12/13 22:02:00 [只看该作者]

两列,一列列名是“数值“,为字符型,另外一列列名“显示值”,为双精度小数,datacolchanged事件如下

Select Case e.DataCol.name
    Case "数值"
        e.DataRow("显示值") = Format(CDbl(e.NewValue),"0.00")
End Select

当数值列输入无法转化的格式时,会报错,例如数值列输入“0..10”或者“0.10.”

可否先判断该值的格式是否可以转化,如果不能转化,弹出自定义的对话框


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/12/13 23:14:00 [只看该作者]


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


加好友 发短信
等级:三尾狐 帖子:774 积分:8830 威望:0 精华:0 注册:2017/1/26 14:38:00
  发帖心情 Post By:2018/12/14 21:40:00 [只看该作者]

表datacolchanged事件,有一列“流量”列,字符型,当输入一个无法转换为双精度小数型的字符时,提示并返回原值,我代码如下,可以弹出对话框却无法改回原值,哪里有问题?

If e.DataCol.name = “流量” Then
    If e.NewValue IsNot Nothing Then
        Dim n As String = e.NewValue
        Dim m As Double
        If Double.TryParse(n,m) = False Then
            MessageBox.show("无效格式!")
            e.DataRow(e.DataCol.Name) = e.OldValue
        End If
    End If
End If


 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


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

放到datacolchanging事件

If e.DataCol.name = “流量” Then
    If e.NewValue IsNot Nothing Then
        Dim n As String = e.NewValue
        Dim m As Double
        If Double.TryParse(n,m) = False Then
 e.cancel = true
            MessageBox.show("无效格式!")
            
        End If
    End If
End If

 回到顶部