Foxtable(狐表)用户栏目专家坐堂 → 关联与动态加载(必看)


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

主题:关联与动态加载(必看)

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


加好友 发短信
等级:管理员 帖子:47448 积分:251048 威望:0 精华:91 注册:2008/6/17 17:14:00
关联与动态加载(必看)  发帖心情 Post By:2010/12/16 17:14:00 [只看该作者]

关联与动态加载

 

假定有两个表,分别是订单和订单明细,两者通过"订单ID"列关联起来,订单是父表,订单明细是子表,因为每个订单对应有若干订单明细。
如果订单表采用加载树加载,按年月每页加载10个订单,显然一个合格的系统,应该同时加载这10个订单的订单明细。
要完成这样的任务,其实非常简单。

 

设计步骤:

 

1、首先将BeforeLoadInnerTable事件代码设置为:

 

Select Case e.DataTableName
   
Case "订单","订单明细"
        e.Filter =
"[_Identify] Is Null"
End
Select

 

确保订单表和订单明细表在初始状态不会加载任何数据。

 

2、然后在AfterOpenProject事件中加入代码:

 

Tables("订单").OpenLoadTree("订购日期 YM",120,10)

 

这样项目打开后,将自动显示订单表的加载树。

 

3、将订单表的AfterLoad事件设置为:

 

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 & ")"
DataTables
("订单明细").Load()

 

至此,我们这个关联加载系统已经完工,前后不过12行代码。

 

提示:

1、上面的例子是针对内部数据表的,如果使用的是外部数据源,那么第一步可以省略,只需在设置外部数据表的时候,将加载条件设置为“[_Identify] Is Null”。

 

 

示例文件:

 

 

 下载信息  [文件大小:   下载次数: ]
点击浏览该文件:管理项目43.rar

[此贴子已经被作者于2010-12-16 23:24:55编辑过]

[本帖被加为精华]
 回到顶部
帅哥哟,离线,有人找我吗?
老有所乐
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:746 积分:6673 威望:0 精华:1 注册:2008/9/1 11:46:00
  发帖心情 Post By:2010/12/16 17:23:00 [只看该作者]

贺总辛苦,学习

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


加好友 发短信 一级勋章
等级:超级版主 帖子:7235 积分:40550 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2010/12/16 17:36:00 [只看该作者]

收到!

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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2010/12/16 20:28:00 [只看该作者]

不错,用时再来查看···

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


加好友 发短信
等级:幼狐 帖子:53 积分:1698 威望:0 精华:0 注册:2008/8/31 21:43:00
  发帖心情 Post By:2010/12/16 20:50:00 [只看该作者]

收藏了,多谢!

 


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


加好友 发短信 F6
等级:狐精 帖子:3030 积分:19188 威望:0 精华:2 注册:2008/9/1 7:50:00
  发帖心情 Post By:2010/12/16 21:41:00 [只看该作者]

不错,还是劳驾老六能将其并入帮助里头,呵呵!

[此贴子已经被作者于2010-12-16 21:41:08编辑过]

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


加好友 发短信
等级:管理员 帖子:47448 积分:251048 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2010/12/16 21:56:00 [只看该作者]

呵呵,已经加进去啦

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


加好友 发短信
等级:五尾狐 帖子:1074 积分:9872 威望:0 精华:0 注册:2008/9/2 11:34:00
  发帖心情 Post By:2010/12/16 22:57:00 [只看该作者]

学习,学习,还是学习

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


加好友 发短信 一级勋章
等级:狐仙 帖子:9875 积分:57584 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2010/12/17 7:43:00 [只看该作者]

不错,这东西是有的学.

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


加好友 发短信
等级:五尾狐 帖子:1128 积分:11029 威望:0 精华:2 注册:2008/9/1 10:45:00
  发帖心情 Post By:2010/12/17 7:55:00 [只看该作者]

收藏

 回到顶部
总数 13 1 2 下一页