以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  如何实现,主表或明细修改,没保存,不能关闭窗口,只有保存后,才能关闭?  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=190691)

--  作者:lin98
--  发布时间:2024/2/28 19:46:00
--  如何实现,主表或明细修改,没保存,不能关闭窗口,只有保存后,才能关闭?
\'如果当前记录(行)是已经修改但没有保存,将禁止关闭窗口,直到保存或撤销修改,窗口的BeforeClose事件设置为:
If Tables("采购登记窗口_Table1").Current.DataRow.RowState <> DataRowState.Unchanged Then \'如果当前行已经修改过
    e.Cancel = True
    MessageBox.Show("不能关闭,请保存后!")
End If

问题一:上面代码,只对新增后,没保存,有效,而对新增保存后进行修改,无有效,如何解决?

\'如果当前记录(行)是已经修改但没有保存,将禁止关闭窗口,直到保存或撤销修改,窗口的BeforeClose事件设置为:
If Tables("采购登记窗口_Table1").Current.DataRow.RowState <> DataRowState.Unchanged Then \'如果当前行已经修改过
    e.Cancel = True
    MessageBox.Show("不能关闭,请保存后!")
End If

If Tables("采购登记窗口_Table2").Current.DataRow.RowState <> DataRowState.Unchanged Then \'如果当前行已经修改过
    e.Cancel = True
    MessageBox.Show("新增或修改后,没有保存,不能关闭,请保存后,再关闭!")
End If


问题二:如何实现主表或明细表,新增后,没保存,或新增保存后进行修改,没保存,不能关闭窗口,只有保存后,才能关闭?

--  作者:有点蓝
--  发布时间:2024/2/29 8:40:00
--  
http://www.foxtable.com/webhelp/topics/0387.htm