以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]窗口新增数据  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=139564)

--  作者:huangjiacai
--  发布时间:2019/8/15 17:30:00
--  [求助]窗口新增数据

设计窗口的时候发现了一个问题,如果新增了一行,什么都没填就关闭窗口,数据表里面就会有很多空白行,怎样设置条件,在关闭窗口前先判断某一个字段的值是否为空,如果为空,弹出强制提示信息,必须要特定字段值非空才能保存。

另外,如果不点击保存按钮直接关闭窗口的话,提示未保存,或者没有填写任何信息就点击关闭窗口,把新增的空白行删掉。求教!


--  作者:有点蓝
--  发布时间:2019/8/15 17:44:00
--  
1、比如BeforeClose事件
if tables(“表A”).current.isnull("第一列") then

    Dim dlg As DialogResult = MessageBox.Show("第一列为空是否退出", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
    If dlg = DialogResult.No
        e.Cancel = True
    End If

end if

2、保存提示
If DataTables("Users").HasChanges  Then
    Dim dlg As DialogResult = MessageBox.Show("员工表还有未保存的数据,选是保存并退出,选否退出不保存,选取消返回.", "提示", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question)
    If dlg = DialogResult.Yes Then
        DataTables("Users").Save
    ElseIf dlg = DialogResult.Cancel
        e.Cancel = True
    End If
End If

--  作者:huangjiacai
--  发布时间:2019/8/20 9:48:00
--  
这里面这句e.cancel = true是不是会把新增的行给删掉呢?还是说把在这窗口做的改变都取消掉呢?
--  作者:有点蓝
--  发布时间:2019/8/20 10:25:00
--  
e.cancel = true只是不允许关闭,对数据不会有任何影响