以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  帮助文件  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=40747)

--  作者:石四
--  发布时间:2013/9/28 10:14:00
--  帮助文件

见过帮助文件介绍,大意是设置一段代码,可以实现选定A表某行,B表自动定位到关联行的功能.

现在想看看,找半天找不到.


--  作者:blackzhu
--  发布时间:2013/9/28 10:30:00
--  

副本Table之行位置联动

假定窗口中插入了一个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

 


--  作者:石四
--  发布时间:2013/9/28 11:28:00
--  

找到了:不同表之间联运.

示例一

假定我正在订单表操作,我们希望在订单表中选定一行时,客户表的光标能够自动定位到该客户,这样我一旦从订单表回到客户表,即可看到刚刚所选订单的客户资料。
为此我们在CurrentChanged事件中设置如下代码: 

If e.Table.Current Is Nothing Then \'如果Current为Nothing
    Return \'则返回
End
If

Dim
wz As Integer
Dim
dr As DataRow
dr = DataTables("客户").Find("[客户ID] = \'" & e.Table.Current("客户ID") & "\'")
If
dr IsNot Nothing Then
    wz = Tables("客户").FindRow(dr)
    If wz >= 0 Then
        Tables
("客户").Position = wz
    End If
End
If