Foxtable(狐表)用户栏目专家坐堂 → 为什么在SQLTable的DataColChanged没反应


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

主题:为什么在SQLTable的DataColChanged没反应

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


加好友 发短信
等级:二尾狐 帖子:524 积分:3676 威望:0 精华:0 注册:2012/7/27 10:28:00
为什么在SQLTable的DataColChanged没反应  发帖心情 Post By:2019/12/30 22:54:00 [只看该作者]

Select e.DataCol.Name
    Case "面料名称","面料类别"
        If e.DataRow.IsNull("面料名称") OrElse e.DataRow.IsNull("面料类别") Then
            e.DataRow("面料编号") = Nothing
        Else
            Dim bfry As String = e.DataRow("面料类别")
            If e.DataRow("面料类别") = "梭织面料" Then
                bfry = "SZ"
            ElseIf e.DataRow("面料类别") = "针织面料" Then
                bfry = "ZZ"
            ElseIf e.DataRow("面料类别") = "花边面料" Then
                bfry = "HB"
            ElseIf e.DataRow("面料类别") = "无纺面料" Then
                bfry = "WF"
            End If
    
            Dim bflx As String = GetPy(e.DataRow("面料名称").substring(0,2) ,True)
                      
            Dim bf As String = "ML"
            Dim d As Date = Date.Today()
            Dim bh As String = bf & Format(d,"yy") & bflx & Format(d,"MM") & bfry & Format(d,"yy") & "-"
           
            Dim max As String
            Dim idx As Integer
            max = e.DataTable.Compute("Max(面料编号)","面料编号 like '" & bh & "%'")
            If max > "" Then '如果存在最大编号
                idx = CInt(max.Substring(bh.Length,3)) + 1 '获得最大编号的后三位顺序号,并加1
            Else
                idx = 1 '否则顺序号等于1
            End If
            e.DataRow("面料编号") = bh & Format(idx,"000")
        End If
End Select

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


加好友 发短信
等级:超级版主 帖子:106209 积分:540168 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/12/30 23:03:00 [只看该作者]

SQLTable的DataColChanged在窗口表事件里。如果后面使用了fill,DataSource,那么需要在全局表事件DataColChanged处理

 回到顶部