以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  整数引用后变短  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=146895)

--  作者:yuyu060712
--  发布时间:2020/3/5 11:56:00
--  整数引用后变短

老师:

Dim dr As DataRow = e.DataRow
Select Case e.DataCol.Name
    Case "工号"
        If dr.isnull("工号")  OrElse dr("工号").length <= 2
            dr("铭牌编号") = dr("工号")
        Else
            Dim pattern As String = "[^\\d+]"
            Dim txt = dr("工号").split("-")(1)
            Dim str = System.Text.RegularExpressions.Regex.Replace(txt , pattern ,"")
            dr("铭牌编号") = str
        End If
End Select
If e.DataCol.name = "铭牌编号" OrElse e.DataCol.name="阀门序号1" Then
   If e.DataRow.isnull("铭牌编号")=False AndAlso e.DataRow.isnull("阀门序号1")=False Then
       e.DataRow("铭牌编号1")=e.DataRow("前缀") & e.DataRow("铭牌编号")& e.DataRow("阀门序号1")
   End If
End If

前缀为字母如ABC,阀门序号为3位整数如001,铭牌编号为字符,现在组合后不能实现如A19333001,代码出来为A193331

请老师帮忙看看,谢谢


--  作者:yuyu060712
--  发布时间:2020/3/5 11:59:00
--  

 

 

[此贴子已经被作者于2020/3/5 12:06:45编辑过]

--  作者:有点蓝
--  发布时间:2020/3/5 13:59:00
--  
e.DataRow("铭牌编号1")=e.DataRow("前缀") & e.DataRow("铭牌编号") & format(e.DataRow("阀门序号1"),"000")