以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 求助:主表变化事件 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=85491) |
-- 作者:lzzhx -- 发布时间:2016/5/26 23:24:00 -- 求助:主表变化事件 例如: 主窗口1里的表A是Normal型的,主窗口2里的表B是SQLTablr型的,在主窗口2里将表B做了修改后,直接点选表A,如何才能将主表继续保持在主窗口2中,提示用户去保存,而不是直接转到主窗口1去?代码如何写?写到什么事件中? |
-- 作者:lzzhx -- 发布时间:2016/5/27 7:50:00 -- 请老师看看 |
-- 作者:Hyphen -- 发布时间:2016/5/27 8:47:00 -- MainTableChanging事件:http://www.foxtable.com/help/topics/1612.htm 判断DataTable的数据是否已经被修改:http://www.foxtable.com/help/topics/0387.htm If DataTables(e.OldTableName).HasChanges Then If MessageBox.Show(CExp("表【{0}】已经更改,是否保存?",e.OldTableName), "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = DialogResult.Yes Then DataTables(e.OldTableName).Save Else e.Cancel = True End If End If |
-- 作者:lzzhx -- 发布时间:2016/5/27 9:01:00 -- 主窗口2里的表B是SQLTablr型的,它修改后,表B对应的主表的.HasChanges属性不会变化,所以判断不出来主表内容变了没有 |
-- 作者:大红袍 -- 发布时间:2016/5/27 9:32:00 -- CurrentTableChanged事件
static ptable As Table = Nothing If ptable IsNot Nothing Then |
-- 作者:lzzhx -- 发布时间:2016/5/27 9:44:00 -- 大红袍老师: 上述代码加入后,只是在本窗口内的表之间切换时有提示,点别的主表时没有任何提示,直接就转到别的主表了,点菜单按钮再打开这个窗口时,未保存的数据就丢了(因为我把表头隐藏了,每次要打开窗口时,都是点菜单相应按钮,重新加载表和打开窗口)
|
-- 作者:大红袍 -- 发布时间:2016/5/27 10:40:00 -- 上面的代码,是窗口与窗口之间才有效的啊。我测试没问题。 |