Foxtable(狐表)用户栏目专家坐堂 → 关联表加载问题


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

主题:关联表加载问题

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


加好友 发短信
等级:三尾狐 帖子:715 积分:6677 威望:0 精华:0 注册:2016/6/27 17:56:00
关联表加载问题  发帖心情 Post By:2020/1/20 13:42:00 [只看该作者]

老师,请问下,关联表有没有办法同时加载,比如我父表默认打开是100行,子表是10行,两个表关联时,父表点某行,子表却没任何数据显示,因为只加载了10行,要回到子表重新加载后,才能看到,我想父表点某行时,子表也同时加载,该怎么弄,谢谢!

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:105924 积分:538683 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/1/20 13:54:00 [只看该作者]


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


加好友 发短信
等级:三尾狐 帖子:715 积分:6677 威望:0 精华:0 注册:2016/6/27 17:56:00
  发帖心情 Post By:2020/1/21 15:04:00 [只看该作者]

老师,下面的代码我试了,好像不行,我是父表加载树点101,父表的101数据加载出来了,但是关联表子表的101数据却没加载出来,是哪里出错了?我是网络版的,父表和子表默认加载都是10行,我想父表点击加载树时,子表的数据也同时加载


If DataTables(
"订单").DataRows.Count = 0 Then '如果订单表没有数据
    DataTables(
"订单明细").LoadFilter = "订单ID Is Null" '不加载订单明细
Else
    Dim 
ids As String
    For Each 
dr As DataRow In DataTables("订单").DataRows
        
ids = ids & "," & dr("订单ID")
    Next
    
idsids.Trim(",")
    DataTables(
"订单明细").LoadFilter = "订单ID In (" & ids & ")"
End If
DataTables(
"订单明细").Load()

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:105924 积分:538683 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/1/21 15:08:00 [只看该作者]

代码写到父表表事件afterload事件。子表必须加载父表已加载数据对应的所有明细,不能只加载10行

If DataTables("订单").DataRows.Count = 0 Then '如果订单表没有数据
    DataTables(
"订单明细").LoadFilter = "订单ID Is Null" '不加载订单明细
Else
    Dim 
ids As String
    For Each 
dr As DataRow In DataTables("订单").DataRows
        
ids = ids & "," & dr("订单ID")
    Next
    
idsids.Trim(",")
    DataTables(
"订单明细").LoadFilter = "订单ID In (" & ids & ")"
End If
DataTables("订单明细").Loadtop = nothing '去掉10行的限制
DataTables(
"订单明细").Load()

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


加好友 发短信
等级:三尾狐 帖子:715 积分:6677 威望:0 精华:0 注册:2016/6/27 17:56:00
  发帖心情 Post By:2020/1/21 16:21:00 [只看该作者]

老师,可能是我表达错了,我想要的是在一个关联表内,上面是父表,下面是子表,软件打开时,父表和子表都是随机10行的,
我在父表的加载树点101时,我想父表和子表两个表的加载树同时都加载服务器上101的数据,因为数据太多了,如果说子表必须
加载父表已加载数据对应的所有明细,那么相当于我如果要看101的数据,就先得把子表的101数据在加载树点一下,然后在回到父表
点一下加载树101,那这样子的话,我不明白上面的代码存在的意义在哪里?因为如果两个表我都手动点加载了,那关联表就可以看到
了,不需要上面的代码也可以做到,我以前是软件打开时,子表默认加载全部行,大概几万行,我父表关联子表,父表随便点个订单号
就能看到子表的数据,现在网络不行情况下,我就想默认加载10行,然后用代码实现父表加载某个订单号时,子表也同时从服务器上加载
对应订单号的数据,说的有点多,不知道有没有表达正确,麻烦老师帮我看下,谢谢!

 回到顶部
帅哥,在线噢!
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:105924 积分:538683 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/1/21 16:29:00 [只看该作者]

这种情况,子表没有必要使用加载树了,子表的数据完全依赖父表的加载结果。使用上面的代码只需要点击父表的加载树,子表就同步加载了,没有必要再去点击子表的加载树

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


加好友 发短信
等级:三尾狐 帖子:715 积分:6677 威望:0 精华:0 注册:2016/6/27 17:56:00
  发帖心情 Post By:2020/1/21 16:50:00 [只看该作者]

我刚才就是点击父表的加载树,父表的全部显示出来了,但是子表却是空白

 回到顶部
帅哥,在线噢!
有点蓝
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:105924 积分:538683 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/1/21 16:53:00 [只看该作者]

用错代码了吧,或者和其它代码有冲突。使用内部表做个例子发上来看看

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


加好友 发短信
等级:三尾狐 帖子:715 积分:6677 威望:0 精华:0 注册:2016/6/27 17:56:00
  发帖心情 Post By:2020/1/21 16:55:00 [只看该作者]

老师,刚又测试了下,可以了,谢谢!

 回到顶部