以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 两个窗口关联时,行滚动的问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=106708) |
-- 作者:lake163 -- 发布时间:2017/9/14 11:55:00 -- 两个窗口关联时,行滚动的问题 两个窗口PPT.PPT副屏,均有一副本表控件,对应一个主表。 希望在窗口PPT的表控件选中行时,窗口PPT副屏的表也移动到对应行。 采取以下两种试,都能定位到对应行,但窗口PPT副屏中的行要滚动多次后才能停在对应行,请问如何解决。 If Forms("PPT副屏").Opened() Dim t As Table = Tables("PPT_Table1") Dim t2 As Table = Tables("PPT副屏_Table1") Dim zx As Integer If t.Current IsNot Nothing zx = t.current("总序") With t2 Dim r As Integer r = .FindRow( "[总序] = " & zx) \'从第一行开始查找 If r >= 0 Then \'如果找到的话 .Position = r \'定位到找到的行. End If End With End If End If If Forms("PPT副屏").Opened() Dim t As Table = Tables("PPT副屏_Table1") Dim p1 As Integer = e.Table.Position \'两表排序、行是完全一致的 t.Position = p1 End If |
-- 作者:有点甜 -- 发布时间:2017/9/14 12:01:00 -- 应该两个表控件的currentChanged事件相互触发造成的。
你试试
If Forms("PPT副屏").Opened()
SystemReady = False
Dim t As Table = Tables("PPT副屏_Table1")
Dim p1 As Integer = e.Table.Position \'两表排序、行是完全一致的
t.Position = p1
SystemReady = True
End If |
-- 作者:lake163 -- 发布时间:2017/9/14 14:06:00 -- 这样设置后,第二个窗口的行不再来回滚动。但又出现了两个问题: 一是选定行只有一列背景色和字体色变化,而不是常规的一行。 二是日期列设置的DrawCell没用了,本来应该显示YYMM。 具体见图 正常应该是下面这样的:
[此贴子已经被作者于2017/9/14 14:05:51编辑过]
|
-- 作者:lake163 -- 发布时间:2017/9/14 14:10:00 -- 对不起,查了下事件,在第二个窗口中无意中多设置了事件。现在已解决。 |