Foxtable(狐表)用户栏目专家坐堂 → 求助:主表变化事件


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

主题:求助:主表变化事件

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


加好友 发短信
等级:四尾狐 帖子:995 积分:6712 威望:0 精华:0 注册:2015/1/12 22:12:00
求助:主表变化事件  发帖心情 Post By:2016/5/26 23:24:00 [只看该作者]

例如:
    主窗口1里的表A是Normal型的,主窗口2里的表B是SQLTablr型的,在主窗口2里将表B做了修改后,直接点选表A,如何才能将主表继续保持在主窗口2中,提示用户去保存,而不是直接转到主窗口1去?代码如何写?写到什么事件中?


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


加好友 发短信
等级:四尾狐 帖子:995 积分:6712 威望:0 精华:0 注册:2015/1/12 22:12:00
  发帖心情 Post By:2016/5/27 7:50:00 [只看该作者]

请老师看看

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


加好友 发短信
等级:狐神 帖子:5015 积分:25363 威望:0 精华:0 注册:2015/8/18 9:21:00
  发帖心情 Post By: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
  4楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:995 积分:6712 威望:0 精华:0 注册:2015/1/12 22:12:00
  发帖心情 Post By:2016/5/27 9:01:00 [只看该作者]

主窗口2里的表B是SQLTablr型的,它修改后,表B对应的主表的.HasChanges属性不会变化,所以判断不出来主表内容变了没有

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/5/27 9:32:00 [只看该作者]

CurrentTableChanged事件

 

static ptable As Table = Nothing

If ptable IsNot Nothing Then
    If CurrentTable.name <> ptable.name AndAlso ptable.Form IsNot Nothing AndAlso ptable.DataTable.HasChanges Then
        msgbox(ptable.name & "未保存")
        ShowAppWindow(ptable.form.Text,1)
    Else
        ptable = CurrentTable
    End If
Else
    ptable = CurrentTable
End If


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


加好友 发短信
等级:四尾狐 帖子:995 积分:6712 威望:0 精华:0 注册:2015/1/12 22:12:00
  发帖心情 Post By:2016/5/27 9:44:00 [只看该作者]

大红袍老师:
      上述代码加入后,只是在本窗口内的表之间切换时有提示,点别的主表时没有任何提示,直接就转到别的主表了,点菜单按钮再打开这个窗口时,未保存的数据就丢了(因为我把表头隐藏了,每次要打开窗口时,都是点菜单相应按钮,重新加载表和打开窗口)

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/5/27 10:40:00 [只看该作者]

 上面的代码,是窗口与窗口之间才有效的啊。我测试没问题。


 回到顶部