以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]父子表同步加载问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=57453)

--  作者:jk362223
--  发布时间:2014/9/25 9:55:00
--  [求助]父子表同步加载问题
有表“报销名单”,“病情记录单”,在全局表事件中afterload设置如下代码,建立父子关系,
Select Case e.DataTable.Name 
          Case "报销名单"
Dim filter As String = "1=2"
For Each ary As String() In DataTables("报销名单").GetValues("身份证号|报销起日", "报销起日 is not null")
    filter &= " or 身份证号 = \'" & ary(0) & "\' and 报销起日 = \'" & ary(1) & "\' "
Next

DataTables("病情记录单").LoadFilter = filter
DataTables("病情记录单").Load

End Select

建一个窗口1,如示例,现要求
1、双击窗口1中父表中的行时,子表从后台加载相应的行。
请帮我一下
示例
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:影响力玩物丧志.zip


--  作者:Bin
--  发布时间:2014/9/25 9:59:00
--  
http://www.foxtable.com/help/topics/2228.htm
--  作者:jk362223
--  发布时间:2014/9/25 10:19:00
--  
回2楼,您说的那是父表通过目录树或其它途径加载行时,子表相应的加载。我的目的是:父表加载全部或部分表后,用鼠标双击父表中的行时,子表重新加载相应的行。我想要一个这种方式重新加载子表,能行吗?
--  作者:Bin
--  发布时间:2014/9/25 10:22:00
--  
一样的啊,亲.  代码写到CUrrentChanged事件

datatables("子表").FIlter="关联列=\'" & e.table.current("关联列") & "\'"
datatables("子表").Load

--  作者:jk362223
--  发布时间:2014/9/25 11:08:00
--  
"报销名单"CurrentChanged和afterload中设置
Dim filter As String = "1=2"
For Each ary As String() In DataTables("报销名单").GetValues("身份证号|报销起日", "报销起日 is not null")
    filter &= " or 身份证号 = \'" & ary(0) & "\' and 报销起日 = #" & ary(1) & "# "
Next

DataTables("病情记录单").LoadFilter = filter
DataTables("病情记录单").Load
出现提示
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:有志于此.rar


--  作者:有点甜
--  发布时间:2014/9/25 11:26:00
--  

 去掉Afterload的代码,currentchanged代码如下

 

If e.Table.Current IsNot Nothing Then
    Dim filter As String = "身份证号 = \'" & e.Table.Current("身份证号") & "\' and 报销起日 = #" & e.Table.Current("报销起日") & "# "
      
    DataTables("病情记录单").LoadFilter = filter
    DataTables("病情记录单").Load
End If