Foxtable(狐表)用户栏目专家坐堂 → 关闭窗口前执行的代码。。。


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

主题:关闭窗口前执行的代码。。。

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


加好友 发短信
等级:九尾狐 帖子:2355 积分:16187 威望:0 精华:0 注册:2013/9/1 8:09:00
关闭窗口前执行的代码。。。  发帖心情 Post By:2014/3/10 12:29:00 [只看该作者]

各位老师好:

点击窗口右上角的关闭后,要是在一个表{表}里的几列内容为空,如[列1]、[列2]内容为空,则弹出提示框:[列1]、[列2]内容为空,请填写完整。点击提示框的确定后不关闭窗口,而是进入编辑。直到内容都填完整,才能关闭。

能实现吗?

我用窗口的 before close 写了如下代码没有实现,不知道怎么写。。

For Each dr As DataRow In DataTables("表1").DataRows
    If dr.IsNull("列1")  OrElse dr.IsNull("列2")  Then
        MessageBox.Show("错误,请输入完整的内容!")
        e.Cancel = True
    End If
Next

有提示框,但是点击确定后又马上跳出来,都没时间去填写完整内容。。。。


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


加好友 发短信
等级:幼狐 帖子:152 积分:1051 威望:0 精华:0 注册:2014/2/20 10:27:00
  发帖心情 Post By:2014/3/10 12:33:00 [只看该作者]

不要用for each

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2014/3/10 12:34:00 [只看该作者]

For Each dr As DataRow In DataTables("表1").DataRows
    If dr.IsNull("列1")  OrElse dr.IsNull("列2")  Then
        MessageBox.Show("错误,请输入完整的内容!")
        e.Cancel = True
        exit for
    End If
Next

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


加好友 发短信
等级:九尾狐 帖子:2355 积分:16187 威望:0 精华:0 注册:2013/9/1 8:09:00
  发帖心情 Post By:2014/3/10 13:19:00 [只看该作者]

完美解决,谢谢xiaofengfeng 和狐爸。

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


加好友 发短信
等级:版主 帖子:5246 积分:33163 威望:0 精华:8 注册:2013/1/17 21:28:00
  发帖心情 Post By:2014/3/10 14:06:00 [只看该作者]

If DataTables("表1").Compute("Count(列1)","列1 Is Not Null") < DataTables("表1").DataRows.Count _
    OrElse DataTables("表1").Compute("Count(列2)","列2 Is Not Null") < DataTables("表1").DataRows.Count Then
    MessageBox.Show("列1和列2不能有空值")
    e.Cancel = True
End If
[此贴子已经被作者于2014-3-10 14:07:37编辑过]

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


加好友 发短信
等级:九尾狐 帖子:2355 积分:16187 威望:0 精华:0 注册:2013/9/1 8:09:00
  发帖心情 Post By:2014/3/10 14:45:00 [只看该作者]

哦,谢谢lsy 老师!

 回到顶部