以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]打开表,光标停留在第一列的最后一行  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=25676)

--  作者:chnfo
--  发布时间:2012/11/14 11:41:00
--  [求助]打开表,光标停留在第一列的最后一行
表中有隐藏列。
列数比较多,但比较重要的列顺序靠前,有时候一打开界面,焦点跑到后面去了,要看到重要信息还得用横向滚动条。

有什么办法可以让界面一打开的时候,光标停留在界面上的第一列(不含隐藏列)上,至于哪一行倒不是挺重要。

查了一下论坛,有飞给出一段代码

afterload事件加入以下代码

for each tbl as table in tables

  if tbl.rows.count > 0 then 

 tbl.postion = tbl.rows.count - 1

end if 

next


好象是有问题的,提示position不是table的成员??

[此贴子已经被作者于2012-11-14 11:47:02编辑过]

--  作者:小猪鑫鑫
--  发布时间:2012/11/14 11:46:00
--  
Tables("表").Select(Tables("表").Rows.count -1,0)
--  作者:lin_hailun
--  发布时间:2012/11/14 11:50:00
--  
 楼主,默认不是停留在第一列第一行的么?

 是否有控制的代码?比如 select

--  作者:chnfo
--  发布时间:2012/11/14 12:01:00
--  
没有啊,我做了一个topicbar,通过link的click事件去打开表。
不过加载表的时候,有filter条件。
界面上有主表,还有关联表。

这个应当不影响的啊。

试验了一下,如果没有关联表,那么下面这段就可以控制,放在mainchenged里以可以
Tables("表").Select(Tables("表").Rows.count -1,0)

有了关联表就不中。
[此贴子已经被作者于2012-11-14 12:04:32编辑过]

--  作者:czy
--  发布时间:2012/11/14 12:56:00
--  

如果指定表最前面的列被你隐藏了,你这样直接定位到第一列的位置肯定不行了。


--  作者:czy
--  发布时间:2012/11/14 12:59:00
--  

这样应该能定位到显示列的第一位置上。

 

dim t as table = currenttable
for each cl as col in t.cols
if cl.visible then
t.select(t.rows.count -1,t.cols(cl.name).index)
exit for
end if
next