以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助] 如何在同步表之后仍显示同步之前的行位置?  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=130638)

--  作者:whynotwxg
--  发布时间:2019/1/28 10:02:00
--  [求助] 如何在同步表之后仍显示同步之前的行位置?
大家好,请教如下问题:
在当前表中,正在查看第200行的数据,此时想同步一下当前表,查看第200行(当前行)中(或其上下行中)是否有其他人进行了修改。
于是我做了个同步按钮,点击此按钮后,会同步当前表的数据,但同步当前表后,表格会自动跳到表的第1行,要想查看同步之前显示的第200行(可能在下面较远的位置),需要再向下滚动鼠标好多次才能看到。

请问,如何通过给此按钮编程,实现:按此铵钮同步当前表,同步后,再回到当前显示行的位置。

先谢谢老师们!

--  作者:有点甜
--  发布时间:2019/1/28 10:06:00
--  

方法一:

 

dim i as integer = tables("表A").current.index

\'同步代码

tables("表A").position = i

 

方法二:

 

dim i as integer = tables("表A").current("_Identify")

\'同步代码

tables("表A").position = tables("表A").findrow("_Identify = " & i)


--  作者:whynotwxg
--  发布时间:2019/1/28 10:45:00
--  
谢谢“有点甜”老师,我去试一下。


--  作者:whynotwxg
--  发布时间:2019/1/28 11:19:00
--  
有点甜老师好,我测试了,有两个问题:
1. 对主表起作用,但对主表界面中显示的“关联表”不起作用。如何使其对关联表也起作用呢?
2. 同步之前的当前行,在同步当前表后,会显示在窗口的最下沿位置。能不能显示在窗口的原来位置?

感谢您!

[此贴子已经被作者于2019/1/28 11:19:34编辑过]

--  作者:有点甜
--  发布时间:2019/1/28 11:23:00
--  

1、比如

 

dim i1 as integer = tables("表A").current.index

dim i2 as integer = tables("表A.表B").current.index

\'同步代码

tables("表A").position = i1

tables("表A.表B").position = i2

 

2、同理,记录一下 TopVisibleRow 的值,同步后,还原一下即可

 

http://www.foxtable.com/webhelp/scr/2358.htm

 


--  作者:whynotwxg
--  发布时间:2019/1/28 11:31:00
--  
好的,感谢您的回复。
我按照您的提示学习应用试试,试验以后再来向您汇报。

非常感谢!


--  作者:whynotwxg
--  发布时间:2019/1/28 12:20:00
--  
有点甜老师好,按照您建议的思路,基本上解决了所有的问题。
感谢您!