Foxtable(狐表)用户栏目专家坐堂 → 新版对AddNew的处理方法似乎变了,明显不合理了


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

主题:新版对AddNew的处理方法似乎变了,明显不合理了

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


加好友 发短信 一级勋章
等级:版主 帖子:1993 积分:19409 威望:0 精华:20 注册:2008/9/2 10:09:00
新版对AddNew的处理方法似乎变了,明显不合理了  发帖心情 Post By:2009/8/18 21:50:00 [只看该作者]

在老版中,用AddNew新增行、然后引发当前表的CurrentChanged事件。在CurrentChanged事件中,以下代码是可以正常通过的:

If e.Table.Current IsNot Nothing
    MessageBox.Show("当前Table共 " & e.Table.Rows.Count & "行! ")
    dim r as Integer = e.Table.Current.Index    '当前行
    e.Table.Select(r,0)   '选择当前行第一列
End If


但用了今天的新版以后,上面的代码就出错了。经认真分析发现,新版在执行了AddNew以后,Table的新增行已经产生,count也发生了变化,但这时该行并未加载进table,反而是先执行CurrentChanged事件,然后才加载行。

老版的执行顺序是:先新增行、然后加载该行、再执行CurrentChanged事件;
新版则是:先新增行、然后执行CurrentChanged事件、再加载该行。

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


按新版的这种处理方法,上述代码只能改成这样。这样的代码看起来实在别扭:
If e.Table.Rows.Count > 1
    dim r as Integer = e.Table.Current.Index    '当前行
    e.Table.Select(r,0)   '选择当前行第一列
End If


期望老六还能改回原来的那种处理方式!
[此贴子已经被作者于2009-8-18 21:54:34编辑过]

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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33951 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2009/8/18 23:01:00 [只看该作者]

奇怪,我没发现问题。
在两个版本中执行操作结果都是一样的。

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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2009/8/18 23:04:00 [只看该作者]

这样不会有问题了:但也不会提示了~
If e.Table.position >= 0 then
If e.Table.Current IsNot Nothing
    MessageBox.Show("当前Table共 " & e.Table.Rows.Count & "行! ")
    dim r as Integer = e.Table.Current.Index    '当前行 必须时可见的行
    e.Table.Select(r,0)   '选择当前行第一列
End If
End If
[此贴子已经被作者于2009-8-18 23:15:56编辑过]

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


加好友 发短信 一级勋章
等级:版主 帖子:1993 积分:19409 威望:0 精华:20 注册:2008/9/2 10:09:00
  发帖心情 Post By:2009/8/19 8:18:00 [只看该作者]

加个position的判断确实是个好办法。
但我还是觉得,新版的这个变化有点没有道理。

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


加好友 发短信
等级:管理员 帖子:47477 积分:251256 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2009/8/19 8:30:00 [只看该作者]

呵呵,我抽空看看,不过有些变化我也没有办法控制的.

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


加好友 发短信 一级勋章
等级:版主 帖子:1993 积分:19409 威望:0 精华:20 注册:2008/9/2 10:09:00
  发帖心情 Post By:2009/8/19 10:53:00 [只看该作者]

问题大了,连BeforeAddDataRow事件设置都有问题。看来这个AddNew还要老六认真对待一下,我现在关键的录入模块都出错了。
请老六看看这个例子:
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.table


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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2009/8/19 12:44:00 [只看该作者]

6楼的问题存在~ 

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


加好友 发短信
等级:管理员 帖子:47477 积分:251256 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2009/8/19 13:02:00 [只看该作者]

下次更新可以了

 回到顶部