Foxtable(狐表)用户栏目专家坐堂 → 窗口beforeclose和afterclose


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

主题:窗口beforeclose和afterclose

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


加好友 发短信
等级:幼狐 帖子:67 积分:698 威望:0 精华:0 注册:2014/4/24 19:16:00
窗口beforeclose和afterclose  发帖心情 Post By:2017/3/14 13:32:00 [只看该作者]

版主你好:

 

我在同一个窗口的beforeclose和afterclose分别写如下代码

before

If Tables("袜机状态表").Current.DataRow.RowState <> DataRowState.Unchanged Then '如果当前行已经修改过
    MessageBox.Show("请保存数据后再关闭!")
    e.Cancel = True
End If

 

after

Forms("织造车间袜机状态").Close
Forms("织造车间袜机状态").open

 

我修改数据后没有保存数据,直接点关闭窗口,弹出“请保存数据后再关闭”的提示,确定之后窗口本不应该关闭,但是却关闭了。

我把afterclose 的代码删除就不会关闭了,是两段代码有冲突吗? 该如何避免?  afterclose中的代码我是想刷新数据用。


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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/3/14 14:31:00 [只看该作者]

 没测试过,但是你不可以写在一起?

 

If Tables("袜机状态表").Current.DataRow.RowState <> DataRowState.Unchanged Then '如果当前行已经修改过
    MessageBox.Show("请保存数据后再关闭!")
    e.Cancel = True

Else

    '这里写你其余的代码
End If


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


加好友 发短信
等级:幼狐 帖子:67 积分:698 威望:0 精华:0 注册:2014/4/24 19:16:00
  发帖心情 Post By:2017/3/14 16:35:00 [只看该作者]

If Tables("袜机状态表").Current.DataRow.RowState <> DataRowState.Unchanged Then '如果当前行已经修改过
    MessageBox.Show("请保存数据后再关闭!")
    e.Cancel = True

Else

Forms("织造车间袜机状态").Close
Forms("织造车间袜机状态").open

End If

 

改成如上,还是关闭了,e.cancel 没起作用。


 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110567 积分:562725 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/3/14 16:56:00 [只看该作者]

刷新数据有必要重新打开么。直接调用刷新的代码不行吗,比如按钮、函数什么的

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


加好友 发短信
等级:幼狐 帖子:67 积分:698 威望:0 精华:0 注册:2014/4/24 19:16:00
  发帖心情 Post By:2017/3/14 17:14:00 [只看该作者]

因为打开关闭的窗口中要重新绘制listview,我没有更好的其他办法

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


加好友 发短信
等级:幼狐 帖子:67 积分:698 威望:0 精华:0 注册:2014/4/24 19:16:00
  发帖心情 Post By:2017/3/14 17:46:00 [只看该作者]

我要刷新的窗口中加载了TopicBar的代码


Dim Page As WinForm.TopicPage
Dim cnt1 As Integer = DataTables("袜机状态表").Compute("Count(运行状态)","运行状态 = True")
Dim cnt2 As Integer = DataTables("袜机状态表").Compute("Count(运行状态)","运行状态 = False")
Page = e.Form.Controls("TopicBar1").Pages.Add("袜机状态","袜机状态")
Page.Links.Add("停止的袜机","停止的袜机(" & cnt2 & ")" )
Page.Links.Add("运行的袜机","运行的袜机(" & cnt1 & ")" )

 

删除后这个现象就没有了,不知道为什么。

 

还是有这个情况。我明天把例子上传,版主帮忙看看吧

[此贴子已经被作者于2017/3/14 17:47:13编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110567 积分:562725 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/3/14 17:46:00 [只看该作者]

重新绘制试试

 

Dim lvw As WinForm.ListView = e.Form.Controls("ListView1")
lvw.Refresh()

 

虚拟模式参考http://www.foxtable.com/webhelp/scr/2843.htm

 


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


加好友 发短信
等级:幼狐 帖子:67 积分:698 威望:0 精华:0 注册:2014/4/24 19:16:00
  发帖心情 Post By:2017/3/15 9:33:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.rar

版主你好

 

我是商业版做的,帮忙看下。 双击图片后修改内容,点击关闭后本不应关闭,结果还是关闭了窗口。


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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/3/15 10:10:00 [只看该作者]

AfterClose代码

 

Dim Page As WinForm.TopicPage
Dim frm = Forms("织造车间袜机状态")
If frm.Opened Then
    Dim cnt1 As Integer = DataTables("袜机状态表").Compute("Count(运行状态)","运行状态 = True")
    Dim cnt2 As Integer = DataTables("袜机状态表").Compute("Count(运行状态)","运行状态 = False")
    Page = frm.Controls("TopicBar1").Pages("袜机状态")
    Page.Links("停止的袜机").Text = "停止的袜机(" & cnt2 & ")"
    Page.Links("运行的袜机").Text = "运行的袜机(" & cnt1 & ")"
End If


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


加好友 发短信
等级:幼狐 帖子:67 积分:698 威望:0 精华:0 注册:2014/4/24 19:16:00
  发帖心情 Post By:2017/3/15 10:25:00 [只看该作者]

造成窗口关闭是topicbar的代码的原因吗?

 回到顶部
总数 16 1 2 下一页