Foxtable(狐表)用户栏目专家坐堂 → 两个窗口关联时,行滚动的问题


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

主题:两个窗口关联时,行滚动的问题

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


加好友 发短信
等级:童狐 帖子:276 积分:2971 威望:0 精华:0 注册:2010/9/20 11:21:00
两个窗口关联时,行滚动的问题  发帖心情 Post By: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

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By: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
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:276 积分:2971 威望:0 精华:0 注册:2010/9/20 11:21:00
  发帖心情 Post By:2017/9/14 14:06:00 [只看该作者]

这样设置后,第二个窗口的行不再来回滚动。但又出现了两个问题:
一是选定行只有一列背景色和字体色变化,而不是常规的一行。
二是日期列设置的DrawCell没用了,本来应该显示YYMM。
具体见图

图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看

正常应该是下面这样的:

图片点击可在新窗口打开查看此主题相关图片如下:2.png
图片点击可在新窗口打开查看


[此贴子已经被作者于2017/9/14 14:05:51编辑过]

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


加好友 发短信
等级:童狐 帖子:276 积分:2971 威望:0 精华:0 注册:2010/9/20 11:21:00
  发帖心情 Post By:2017/9/14 14:10:00 [只看该作者]

对不起,查了下事件,在第二个窗口中无意中多设置了事件。现在已解决。

 回到顶部