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


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

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

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


加好友 发短信 一级勋章
等级:版主 帖子:1993 积分:19409 威望:0 精华:20 注册:2008/9/2 10:09:00
请教:这个代码错在哪里?  发帖心情 Post By:2009/8/7 18:01:00 [只看该作者]

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

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


 回到顶部
帅哥哟,离线,有人找我吗?
czy
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | 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
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | 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

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


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

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

 回到顶部
帅哥哟,离线,有人找我吗?
czy
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | 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


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


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

用Syscmd.Row.AddNew()确实是不出错了。
那么怎样才能将焦点移动到新增行的第一列上呢?按楼上的代码,焦点还是在按钮上的。

 回到顶部
帅哥哟,离线,有人找我吗?
czy
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | 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


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


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

可以了,谢谢!一直以为用select选择了指定单元格以后,焦点会自动移过去的,没想到还是要用focus方法。
我觉得这应该是个bug,包括addnew也是,期待老六看到这个帖子时能适当改进一下。
谢谢C版的热心帮助。

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


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

呵呵,这个不是bug的,选择单元格和新增行,并不见得就要获得焦点的。

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


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

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

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