Foxtable(狐表)用户栏目专家坐堂 → [求助]掩码的动态设置


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

主题:[求助]掩码的动态设置

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


加好友 发短信
等级:五尾狐 帖子:1104 积分:8956 威望:0 精华:0 注册:2014/10/25 11:24:00
[求助]掩码的动态设置  发帖心情 Post By:2018/3/18 10:46:00 [只看该作者]

假定第一列,输入的字符串掩码有以下要求:
前9位掩码为:"\CL0000000"
在第10位如果输入一个 “ - ”(减号),则掩码变为12位:"\CL0000000\-00"
在第13位又输入一个减号,则掩码变为15位:"\CL0000000\-00\-00"
具体减号的输入次数不可限定,由用户根据实际情况录入
如果用户把第13位的减号删除了,则掩码又变回:"\CL0000000\-00"
有点复杂,请老师看下,谢谢!

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


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

不建议使用掩码,你在输入结束以后,判断输入值是否正确即可。

 

validateEdit、DataColchanging都可以判断。


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


加好友 发短信
等级:五尾狐 帖子:1104 积分:8956 威望:0 精华:0 注册:2014/10/25 11:24:00
  发帖心情 Post By:2018/3/18 21:04:00 [只看该作者]

老师说的对,确实不能用掩码,下午自己试出来了
ValidateEdit事件

    If e.Col.Name = "捆包号" Then
        If e.Text.Length > 9 Then
            Dim n As Integer = e.Text.Length
            Dim m As Integer '变量m用于存储转换结果
            Dim i As Integer = (n-9) / 3
            Dim Values() As String = e.Text.split("-")
            If (n-9) Mod 3 > 0 Then
                MessageBox.Show("捆包号编码格式必须为:AA0000000-00-00...","错误",MessageBoxButtons.OK,MessageBoxIcon.Error)
                e.Cancel = True
            ElseIf i <> Values.Length - 1 Then
                MessageBox.Show("捆包分号必须用【-】分隔后跟2位数的整数" & vbcrlf & "捆包号编码格式为:AA0000000-00-00...","错误",MessageBoxButtons.OK,MessageBoxIcon.Error)
                e.Cancel = True
            Else
                For Index As Integer = 1 To Values.Length - 1
                    If   Integer.TryParse(Values(Index), m) = False Then '如果转换不成功
                        MessageBox.Show("捆包分号必须为2位数的整数,【" & Values(Index) & "】为非法值" & vbcrlf & "捆包号编码格式为:AA0000000-00-00...","错误",MessageBoxButtons.OK,MessageBoxIcon.Error)
                        e.Cancel = True
                        Exit For
                    End If
                Next
            End If
        End If
    End If

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


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

图片点击可在新窗口打开查看

 回到顶部