Foxtable(狐表)用户栏目专家坐堂 → 输入校验


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

主题:输入校验

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


加好友 发短信
等级:六尾狐 帖子:1445 积分:10678 威望:0 精华:0 注册:2014/8/13 16:19:00
输入校验  发帖心情 Post By:2014/10/31 10:07:00 [显示全部帖子]

我定义一个类,并加入以下代码,校验一行是否全为空值
Public Function checkNullRow(table1 As DataTable, r1 As DataRow) As Boolean
checkNullRow = True
    For Each c1 As DataCol In Table1.dataCols
        If r1.IsNull(c1.Name) Then
        Else
            checkNullRow = False
            Return True
        End If
    Next
checkNullRow = True
End Function

然后,在表的beforesavedatarow的事件中,加入
Dim dr As DataRow = e.DataRow
Dim cI As new checkInput

If cI.checkNullRow(e.DataTable,e.DataRow) Then   '空行
    dr.Delete
    Return
End If

但是,并没有想我设想的工作。
如果我加入两个新行,一行中有数据,一行无数据,保存时,两行均被删除。何解?

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


加好友 发短信
等级:六尾狐 帖子:1445 积分:10678 威望:0 精华:0 注册:2014/8/13 16:19:00
  发帖心情 Post By:2014/10/31 10:51:00 [显示全部帖子]

明白了,谢谢。
另外,如果我连续在主表中增加多行,正常输入情况下,每一行在子表应该对应增加一行。
1、利用syscmd.project.save保存时,先保存主表?还是子表?这个顺序可否设置?
2、在beforesavedatarow事件中,对每个主表中保存的当前行,如何校验对应子表中是否已经增加了一行?



 回到顶部