假定窗口中插入了一个Table控件,绑定到"表A",作为副本。
希望在这个副本Table中选定一行时,表A也能自动选定这一行,实现这个任务很简单,只需将副本Table的CurrentChanged事件代码设置为:
Dim dr As DataRow = e.Table.Current.DataRow
Dim wz As Integer = Tables("表A").FindRow(dr)
If wz >=0 Then
Tables("表A").Position = wz
End If
反过来,如果你想在表A选定某行时,副本Table也能同步选定同一样,可以讲表A的CurrentChanged事件代码设置为:
If Forms("窗口1").Opened Then '如果窗口已经打开
Dim dr As DataRow = e.Table.Current.DataRow
Dim wz As Integer = Tables("窗口1_Table1").FindRow(dr)
If wz >=0 Then
Tables("窗口1_Table1").Position = wz
End If
End If
已按上述代码,每次增加行时,光标就会一行一行地往上走,如何改善?
因为2个表事件会不停的互相触发,加上:
http://www.foxtable.com/webhelp/topics/2218.htm
Dim dr As DataRow = e.Table.Current.DataRow
Dim wz As Integer = Tables("表A").FindRow(dr)
If wz >=0 Then
SystemReady = False
Tables("表A").Position = wz
SystemReady = TrueEnd If
反过来,如果你想在表A选定某行时,副本Table也能同步选定同一样,可以讲表A的CurrentChanged事件代码设置为:
If Forms("窗口1").Opened Then '如果窗口已经打开
Dim dr As DataRow = e.Table.Current.DataRow
Dim wz As Integer = Tables("窗口1_Table1").FindRow(dr)
If wz >=0 Then
SystemReady = False
Tables("窗口1_Table1").Position = wz
SystemReady = True
End If
End If
[此贴子已经被作者于2024/7/15 13:43:36编辑过]
老师,出现了新的情况,combobox1绑定了“第一列”,加了暂停后,点击“表A”记录时combobox1正常,点“表A_table1”时combobox1就不正常
因为控件的事件被屏蔽了,把combobox1的valuechanged事件的代码复制一份放到副本的CurrentChanged事件即可