Foxtable(狐表)用户栏目专家坐堂 → 请教:这个代码错在哪里?


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

主题:请教:这个代码错在哪里?

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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33951 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2009/8/7 19:09:00 [显示全部帖子]

应该是焦点问题吧。

With Tables("表A")
    .Filter = "1=2"   '隐藏全部行
    .AddNew()        '增加行
    .Position = .Rows.Count - 1
    .Select(.Current.Index,.Cols("第一列").Index)     '将焦点移到table的当前行\第一列上
End With


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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33951 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2009/8/7 20:06:00 [显示全部帖子]

或直接定位到最后行:

With Tables("表A")
    .Filter = "1=2"   '隐藏全部行
    .AddNew()        '增加行
    .Select(.Rows.Count - 1,.Cols("第一列").Index)     '将焦点移到table的当前行\第一列上
End With

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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33951 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2009/8/8 17:19:00 [显示全部帖子]

以下是引用reachtone在2009-8-8 16:22:00的发言:
谢谢C版的回复。按2、3楼的办法修改后,代码是不出错了,但焦点并没有移动到当前行的第一列上啊。
帮助上说,table里的AddNew会自动定位到新增加的行上,为什么用Current不行呢?请指教!


我测试是可以移动到最后行第一列位置的,另外Curren也是可以定位到新增行上的,但为什么Addnew在这个特例中不能移动不得而知,不过可以肯定这应该是个小bug,让老六解决吧。

用系统的Addnew不会出错。

With Tables("表A")
   .Filter = "1=3"   '隐藏全部行
   Syscmd.Row.AddNew()'增加行
   .Select(.Current.Index,.Cols("第一列").Index)     '将焦点移到table的当前行\第一列上
End With


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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33951 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2009/8/8 17:30:00 [显示全部帖子]

不好意思,我没在窗口按钮中测试。
在后面加上.Focus
如:

With Tables("表A")
    .Filter = "1=3"   '隐藏全部行
    Syscmd.Row.AddNew()'增加行
    .Select(.Current.Index,.Cols("第一列").Index)     '将焦点移到table的当前行\第一列上
    .Focus
End With


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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33951 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2009/8/8 18:06:00 [显示全部帖子]

不获得焦点算不上bug,一楼的出错提示应该算吧?系统的add不出错,addnew又提示出错就解释不通了。

 回到顶部