Foxtable(狐表)用户栏目专家坐堂 → [求助]是代码问题还是狐表的BUG?请贺总指点。


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

主题:[求助]是代码问题还是狐表的BUG?请贺总指点。

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


加好友 发短信
等级:婴狐 帖子:99 积分:1589 威望:0 精华:0 注册:2011/9/19 0:57:00
[求助]是代码问题还是狐表的BUG?请贺总指点。  发帖心情 Post By:2012/3/31 7:40:00 [只看该作者]

问题描述:附上实验项目附件,本项目没有实际意义,只是为了测试问题。简化的一个项目。

              表A中有一个窗口“信息”。

              我的设计要求是:表A的姓名列不能为空,为此我设计了如下代码:

              在窗口的beforclose事件中,代码如下:

以下内容为程序代码:

1 If e.closemode = 0 Then
2 Dim dt As DataTable = DataTables("A")
3 If dt.HasChanges = True Then
4 If MessageBox.Show("已修改记录,是否保存?", "提示", MessageBoxButtons.YesNo) = DialogResult.Yes Then
5 For Each r As Row In Tables("A").Rows
6 If r("姓名") = "" Then
7 MessageBox.Show("姓名不能为空,请重新填写!")
8 e.Cancel = True
9 Return
10 End If
11 Next
12 DataTables("A").Save()
13 MessageBox.Show("信息已保存!")
14 Else
15 DataTables("A").RejectChanges()
16 End If
17 End If
18 End If
19

设计思想是:如果是通过窗口上的X来关闭窗口的话,判断当前的表是不是被修改过了,如果没有修改则直接关闭。如果修改了,就询问用户是不是需要保存,如果不需要保存,则直接关闭,如果需要保存,就检查表中的姓名列有没有为空的,如果为空,则提示重新填写,同时禁止关闭窗口。

问题就出在红色部分。我模拟红色部分,同样的代码会出现两种情况:

第一种:打开我的附件,运行表中的窗口,在窗口中的表中右键添加一行,姓名留空不写,紧接着点窗口的X号,此时会提示("姓名不能为空,请重新填写!") ,按代码和我的要求,接着窗口不应该关闭的,然而此时却关闭了!

第二种:出现以上情况后,接着,点“窗口管理”中的设计,打开“窗口设计器”,此时找到Beforclose事件处,点开代码,打开“代码编辑器”窗口,记住不要对代码做任何修改,此时再关闭。然后再次运行“信息”窗口,这时再点窗口的X号,这时你会发现,窗口不会关闭的,而这样的才是正确的流程。

不要以为这样就好了,关闭项目,重复第一种的流程,这时你发现,窗口又被关闭了。!!!

怕狐爸不明白我说的是什么,写的有点多,希望能耐心看下去,还烦请狐爸告知是代码的问题,还是狐表的BUG??

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

还是怕我说的不明白,我又做了个动画,操作步骤就是上面我说的步骤。

图片点击可在新窗口打开查看此主题相关图片如下:1.gif
图片点击可在新窗口打开查看

[此贴子已经被作者于2012-3-31 9:01:59编辑过]

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


加好友 发短信 一级勋章
等级:狐仙 帖子:9875 积分:57584 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2012/3/31 8:47:00 [只看该作者]

窗口关闭是有一点问题的,不管是用取消还是返回?我也曾经碰到你一样的问题的.规律没有找到.


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


加好友 发短信
等级:婴狐 帖子:99 积分:1589 威望:0 精华:0 注册:2011/9/19 0:57:00
  发帖心情 Post By:2012/3/31 9:00:00 [只看该作者]

谢谢老朱关注!请教下,有没有解决的办法啊,在不把X关掉的情况下。项目快完工了,碰到这个问题,真是上火啊。狐爸也帮着看看啊。到底是什么原因啊。真是急啊。

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


加好友 发短信
等级:管理员 帖子:47448 积分:251048 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2012/3/31 9:04:00 [只看该作者]

就暂时先去掉这个X吧。

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


加好友 发短信
等级:婴狐 帖子:99 积分:1589 威望:0 精华:0 注册:2011/9/19 0:57:00
  发帖心情 Post By:2012/3/31 9:27:00 [只看该作者]

那狐爸快点更新下吧,项目等着交出去呢。要是单纯的把X关掉,总觉得不是很完美啊。


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


加好友 发短信
等级:管理员 帖子:47448 积分:251048 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2012/3/31 9:31:00 [只看该作者]

哈哈,我会留意这个问题的。

不过也别太追求完美,实用就行,说实话,foxtable和我想象中的foxtable差距甚大,理想总是要向现实妥协的。


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


加好友 发短信 一级勋章
等级:狐仙 帖子:9875 积分:57584 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2012/3/31 10:30:00 [只看该作者]

老大,顶帖,奇怪的很.

 

   写好代码,运行好好的,把窗口设置为自动打开,也好好的,不设置自动打开,重启项目,就不起作用了.


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


加好友 发短信
等级:管理员 帖子:47448 积分:251048 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2012/3/31 11:05:00 [只看该作者]

以下是引用blackzhu在2012-3-31 10:30:00的发言:

老大,顶帖,奇怪的很.

 

   写好代码,运行好好的,把窗口设置为自动打开,也好好的,不设置自动打开,重启项目,就不起作用了.

 

什么意思? 没有看懂。


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


加好友 发短信
等级:九尾狐 帖子:2609 积分:16926 威望:0 精华:11 注册:2011/9/20 16:13:00
  发帖心情 Post By:2012/3/31 14:41:00 [只看该作者]

狐爸,你想象中的foxtable是什么样的

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


加好友 发短信
等级:三尾狐 帖子:623 积分:3897 威望:0 精华:0 注册:2011/8/3 22:13:00
  发帖心情 Post By:2012/3/31 20:05:00 [只看该作者]

以下是引用狐狸爸爸在2012-3-31 11:05:00的发言:

 

什么意思? 没有看懂。

   呵呵,是测试kitty的结果.


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