以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  请教:这个代码错在哪里?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=3836)

--  作者:reachtone
--  发布时间:2009/8/7 18:01:00
--  请教:这个代码错在哪里?
With Tables("表A")
   .Filter = "1=2"   \'隐藏全部行
   .AddNew()        \'增加行
   .Select(.Current.Index,.Cols("第一列").Index)     \'将焦点移到table的当前行\\第一列上
End With

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


--  作者:czy
--  发布时间: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
--  发布时间:2009/8/7 20:06:00
--  
或直接定位到最后行:

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

--  作者:reachtone
--  发布时间:2009/8/8 16:22:00
--  
谢谢C版的回复。按2、3楼的办法修改后,代码是不出错了,但焦点并没有移动到当前行的第一列上啊。
帮助上说,table里的AddNew会自动定位到新增加的行上,为什么用Current不行呢?请指教!
--  作者:czy
--  发布时间: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
--  发布时间:2009/8/8 17:24:00
--  
用Syscmd.Row.AddNew()确实是不出错了。
那么怎样才能将焦点移动到新增行的第一列上呢?按楼上的代码,焦点还是在按钮上的。
--  作者:czy
--  发布时间: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
--  发布时间:2009/8/8 17:51:00
--  
可以了,谢谢!一直以为用select选择了指定单元格以后,焦点会自动移过去的,没想到还是要用focus方法。
我觉得这应该是个bug,包括addnew也是,期待老六看到这个帖子时能适当改进一下。
谢谢C版的热心帮助。
--  作者:狐狸爸爸
--  发布时间:2009/8/8 18:01:00
--  
呵呵,这个不是bug的,选择单元格和新增行,并不见得就要获得焦点的。
--  作者:czy
--  发布时间:2009/8/8 18:06:00
--  
不获得焦点算不上bug,一楼的出错提示应该算吧?系统的add不出错,addnew又提示出错就解释不通了。