Foxtable(狐表)用户栏目专家坐堂 → [求助]保存之前判断空值


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

主题:[求助]保存之前判断空值

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


加好友 发短信
等级:幼狐 帖子:134 积分:1530 威望:0 精华:0 注册:2015/12/7 13:25:00
[求助]保存之前判断空值  发帖心情 Post By:2019/9/4 17:08:00 [只看该作者]

我的代码放到了全局项目事件beforesavedatarow里,意思是保存之前先检查是否有空值,但不起作用。代码如下:
With CurrentTable
    For i As Integer = .TopPosition To .BottomPosition
        Dim r As Row = .Rows(i)
        Dim cls() As String
        Select Case .DataTable.name
            Case "Dwxx"
                cls = New String(){"单位全称","单位简称"}
            Case "Xcgl_jjd"
                cls = New String(){"发放时间"}
            Case "Xcgl_jjpf"
                cls = New String(){"奖金名称","奖金类别","批复时间","批复金额"}
            Case "Xcgl_kqtjb"
                cls = New String(){"本月应出勤"}
            Case "Xcgl_工资单"
                cls = New String(){"身份证号"}
            Case "员工信息表"
                cls = New String(){"姓名","身份证号","员工类别"}               
        End Select
        For Each c As String In cls
            If r.isnull(c) Then
                MessageBox.Show("[" & c & "]列不能为空!","提示",MessageBoxButtons.ok,MessageBoxIcon.warning)
                'msgbox("[" & c & "]列不能为空!")
                Return
            End If
        Next
    Next
End With
[此贴子已经被作者于2019/9/4 17:08:09编辑过]

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


加好友 发短信
等级:超级版主 帖子:110333 积分:561507 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/9/4 17:50:00 [只看该作者]

这种代码适合放到按钮中判断,而不是表事件,应该这样

Dim r As datarow= e.datarow
        Dim cls() As String
        Select Case e.DataTable.name
            Case "Dwxx"
                cls = New String(){"单位全称","单位简称"}
            Case "Xcgl_jjd"
                cls = New String(){"发放时间"}
            Case "Xcgl_jjpf"
                cls = New String(){"奖金名称","奖金类别","批复时间","批复金额"}
            Case "Xcgl_kqtjb"
                cls = New String(){"本月应出勤"}
            Case "Xcgl_工资单"
                cls = New String(){"身份证号"}
            Case "员工信息表"
                cls = New String(){"姓名","身份证号","员工类别"}                
        End Select
        For Each c As String In cls
            If r.isnull(c) Then
                MessageBox.Show("[" & c & "]列不能为空!","提示",MessageBoxButtons.ok,MessageBoxIcon.warning)
                'msgbox("[" & c & "]列不能为空!")
e.cancel = true
                Return
            End If
        Next

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


加好友 发短信
等级:幼狐 帖子:134 积分:1530 威望:0 精华:0 注册:2015/12/7 13:25:00
  发帖心情 Post By:2019/9/4 18:30:00 [只看该作者]

可以加在按钮里,但系统自带的最右上角有个叉号,可以关闭,提示保存时会漏掉空值,直接保存。

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


加好友 发短信
等级:超级版主 帖子:110333 积分:561507 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/9/5 8:35:00 [只看该作者]


 回到顶部