Foxtable(狐表)用户栏目专家坐堂 → 类似掩码格式提取多列字段形成型号规格


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

主题:类似掩码格式提取多列字段形成型号规格

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/1/11 17:46:00 [显示全部帖子]

 startEdit事件,写代码

 

If e.Col.Name = "xxx" Then

    e.Table.grid.Cols(e.Col.name).editmask = e.row("第三列") & "-" & e.row("第四列")

End If

 

 afterEdit事件,写代码

 

If e.Col.Name = "xxx" Then

    e.Table.grid.Cols(e.Col.name).editmask = ""

End If


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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/1/13 17:11:00 [显示全部帖子]

 不能写在validateEdit事件。看2楼的方法。


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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/1/13 17:28:00 [显示全部帖子]

特殊字符要加 \ 符号

 

http://www.foxtable.com/webhelp/scr/3100.htm

 

代码改成

 

If e.Col.Name = "第二列" Then
    Dim ary() As String = {"第三列", "第四列"}
    dim nstr as string = ""
    For Each c As String In ary
        Dim str As String = e.Row(c)
        For Each s As String In str
            nstr &= "\" & s
        Next
        nstr &= "-"
    Next
    e.Table.grid.Cols(e.Col.name).editmask = nstr.trim("-") & "-000"
End If


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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/1/13 18:03:00 [显示全部帖子]

 我觉得你不需要用掩码处理这种情况吧?你可以在datacolchanged事件写代码

 

Select Case e.DataCol.Name

    case "型号", "电压", "容量", "相别"

        e.DataRow("规格型号") = e.DataRow("型号") & "-" & e.DataRow("电压") & "-" & e.DataRow("容量") & "-" & e.DataRow("相别")

End Select

 

 


 回到顶部