以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 关联与动态加载(必看) (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=8857) |
||||
-- 作者:狐狸爸爸 -- 发布时间:2010/12/16 17:14:00 -- 关联与动态加载(必看) 关联与动态加载
假定有两个表,分别是订单和订单明细,两者通过"订单ID"列关联起来,订单是父表,订单明细是子表,因为每个订单对应有若干订单明细。
设计步骤:
1、首先将BeforeLoadInnerTable事件代码设置为:
Select Case e.DataTableNameCase "订单","订单明细" e.Filter = "[_Identify] Is Null" End Select
确保订单表和订单明细表在初始状态不会加载任何数据。
2、然后在AfterOpenProject事件中加入代码:
Tables ("订单").OpenLoadTree("订购日期 YM",120,10)
这样项目打开后,将自动显示订单表的加载树。
3、将订单表的AfterLoad事件设置为:
Dim ids As StringFor Each dr As DataRow In DataTables("订单").DataRows ids = ids & "," & dr("订单ID") Next ids= ids.Trim(",") DataTables("订单明细").LoadFilter = "订单id In (" & ids & ")" DataTables("订单明细").Load()
至此,我们这个关联加载系统已经完工,前后不过12行代码。
提示:
示例文件:
[此贴子已经被作者于2010-12-16 23:24:55编辑过]
|
||||
-- 作者:老有所乐 -- 发布时间:2010/12/16 17:23:00 -- 贺总辛苦,学习 |
||||
-- 作者:程兴刚 -- 发布时间:2010/12/16 17:36:00 -- 收到! |
||||
-- 作者:mr725 -- 发布时间:2010/12/16 20:28:00 -- 不错,用时再来查看··· |
||||
-- 作者:xysheng -- 发布时间:2010/12/16 20:50:00 -- 收藏了,多谢!
|
||||
-- 作者:kylin -- 发布时间:2010/12/16 21:41:00 -- 不错,还是劳驾老六能将其并入帮助里头,呵呵! [此贴子已经被作者于2010-12-16 21:41:08编辑过]
|
||||
-- 作者:狐狸爸爸 -- 发布时间:2010/12/16 21:56:00 -- 呵呵,已经加进去啦 |
||||
-- 作者:bohe -- 发布时间:2010/12/16 22:57:00 -- 学习,学习,还是学习 |
||||
-- 作者:blackzhu -- 发布时间:2010/12/17 7:43:00 -- 不错,这东西是有的学. |
||||
-- 作者:pyh6918 -- 发布时间:2010/12/17 7:55:00 -- 收藏 |