以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  求动态加载当前行订单的订单明细的代码  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=28760)

--  作者:xzc1221
--  发布时间:2013/2/18 8:15:00
--  求动态加载当前行订单的订单明细的代码
要求初始不加载订单明细,双击订单表某行,即加载该行的订单明细。求代码
--  作者:小猪鑫鑫
--  发布时间:2013/2/18 8:34:00
--  

楼主:新年好!还是要多看看帮助文件.

 

3.13.9 父表与子表同步加载

假定有两个表,分别是订单和订单明细,两者通过"订单ID"列关联起来,订单是父表,订单明细是子表,因为每个订单对应有若干订单明细。
由于数据量比较大,决定采用动态加载,每次只加载一定数量的订单进行处理,显然作为一个合格的系统,应该同时加载这些订单的订单明细。

要完成这样的任务很简单,只需在订单表的AfterLoad事件中加入以下代码即可:

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
    
ids=ids.Trim(",")
    DataTables(
"订单明细").LoadFilter ="订单ID In (" & ids & ")"
End If
DataTables(
"订单明细").Load()


--  作者:lin_hailun
--  发布时间:2013/2/18 8:34:00
--  
 直接编写加载条件然后加载就行了。你哪里不会写?

DataTables("明细表").LoadFilter = "关联列 = \'" & e.Row("关联列") & "\'"
DataTables("明细表").Load

http://www.foxtable.com/help/topics/0669.htm

http://www.foxtable.com/help/topics/0670.htm
[此贴子已经被作者于2013-2-18 8:35:50编辑过]

--  作者:xzc1221
--  发布时间:2013/2/19 11:01:00
--  

lin_hailun 的方法可以达到我的想法 ,

小猪鑫鑫的方法我之前试过,不行。

感谢大家的回复。祝大家新年快乐,万事如意