以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 窗口beforeclose和afterclose (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=97541) |
||||
-- 作者:80790800 -- 发布时间:2017/3/14 13:32:00 -- 窗口beforeclose和afterclose 版主你好:
我在同一个窗口的beforeclose和afterclose分别写如下代码 before If Tables("袜机状态表").Current.DataRow.RowState <> DataRowState.Unchanged Then \'如果当前行已经修改过
after Forms("织造车间袜机状态").Close
我修改数据后没有保存数据,直接点关闭窗口,弹出“请保存数据后再关闭”的提示,确定之后窗口本不应该关闭,但是却关闭了。 我把afterclose 的代码删除就不会关闭了,是两段代码有冲突吗? 该如何避免? afterclose中的代码我是想刷新数据用。 |
||||
-- 作者:有点色 -- 发布时间:2017/3/14 14:31:00 -- 没测试过,但是你不可以写在一起?
If Tables("袜机状态表").Current.DataRow.RowState <> DataRowState.Unchanged Then \'如果当前行已经修改过 Else \'这里写你其余的代码 |
||||
-- 作者:80790800 -- 发布时间:2017/3/14 16:35:00 -- If Tables("袜机状态表").Current.DataRow.RowState <> DataRowState.Unchanged Then \'如果当前行已经修改过 Else Forms("织造车间袜机状态").Close End If
改成如上,还是关闭了,e.cancel 没起作用。 |
||||
-- 作者:有点蓝 -- 发布时间:2017/3/14 16:56:00 -- 刷新数据有必要重新打开么。直接调用刷新的代码不行吗,比如按钮、函数什么的 |
||||
-- 作者:80790800 -- 发布时间:2017/3/14 17:14:00 -- 因为打开关闭的窗口中要重新绘制listview,我没有更好的其他办法 |
||||
-- 作者:80790800 -- 发布时间:2017/3/14 17:46:00 -- 我要刷新的窗口中加载了TopicBar的代码
删除后这个现象就没有了,不知道为什么。
还是有这个情况。我明天把例子上传,版主帮忙看看吧 [此贴子已经被作者于2017/3/14 17:47:13编辑过]
|
||||
-- 作者:有点蓝 -- 发布时间:2017/3/14 17:46:00 -- 重新绘制试试
Dim lvw As WinForm.ListView = e.Form.Controls("ListView1")
虚拟模式参考http://www.foxtable.com/webhelp/scr/2843.htm
|
||||
-- 作者:80790800 -- 发布时间:2017/3/15 9:33:00 --
版主你好
我是商业版做的,帮忙看下。 双击图片后修改内容,点击关闭后本不应关闭,结果还是关闭了窗口。 |
||||
-- 作者:有点色 -- 发布时间:2017/3/15 10:10:00 -- AfterClose代码
Dim Page As WinForm.TopicPage |
||||
-- 作者:80790800 -- 发布时间:2017/3/15 10:25:00 -- 造成窗口关闭是topicbar的代码的原因吗? |