以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]论坛找的,必填代码运行出错  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=145706)

--  作者:ntqhj
--  发布时间:2020/2/5 11:50:00
--  [求助]论坛找的,必填代码运行出错
BeforeSaveDataRow事件

If e.OldRange.RowSel <> e.NewRange.RowSel \'如果选择的是不同的行

    If e.OldRange.RowSel >= 0 AndAlso e.OldRange.Rowsel < e.Table.Rows.Count Then \'而且原来选择的是一个有效的数据行
        Dim r As Row = e.Table.Rows(e.OldRange.Rowsel) \'获得原来选择的行
        If r.DataRow.RowState <> DataRowState.Unchanged Then
            Dim str() As String={"第一列","第二列"}
            Dim i As Integer
            For i=0 To str.Length-1
                If r.IsNull(str(i)) Then
                    e.Cancel=True
                    msgbox(str(i) & " 没填")
                    Exit For
                End If
            Next
        End If
    End  If
End If
--  作者:有点蓝
--  发布时间:2020/2/5 11:56:00
--  
这种代码放到BeforeSelChange事件,而不是BeforeSaveDataRow事件
--  作者:liufucan
--  发布时间:2020/2/5 13:11:00
--  
两种不一样,一种是修改后再选择不同行触发,一种是保存时触发。个人喜欢保存时触发。