以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 同步加载 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=91215) |
||||
-- 作者:seal51 -- 发布时间:2016/10/3 17:24:00 -- 同步加载 订单主表,订单明细表, 通过订单ID关联 产品表, 订单明细表,通过产品ID关联, 产品名称为表达式(=产品表.产品名称)
订单表通过e.DataTable.LoadChildren("订单明细表")同步加载后, 订单明细表只显示产品ID,产品名称不显示, 如何显示(同步) |
||||
-- 作者:狐狸爸爸 -- 发布时间:2016/10/3 19:35:00 -- 我测试没有问题 |
||||
-- 作者:seal51 -- 发布时间:2016/10/3 22:42:00 -- 谢谢狐狸爸爸,但是打开订单和订单明细表, 产品表并没有加载,产品名称如何显示?? |
||||
-- 作者:seal51 -- 发布时间:2016/10/3 23:04:00 --
上传个例子 |
||||
-- 作者:狐狸爸爸 -- 发布时间:2016/10/4 6:49:00 -- 这个没办法,要显示订单表,必须加载同步加载对应的产品。 代码不要写在Afterload事件,分别做两个按钮: 按加载产品: DataTables("产品表").LoadFilter = "" DataTables("产品表").load() DataTable(产品表).LoadChildren("订单明细") 按订单加载: DataTables("订单").LoadFilter = "" DataTables("订单").load() DataTables("订单").LoadChildren("订单明细") DataTables("订单明细").LoadChildren("产品表","产品ID","产品ID") |
||||
-- 作者:seal51 -- 发布时间:2016/10/4 9:25:00 -- 谢谢狐狸爸爸的回复!节日快乐! 但是,这样多麻烦, 难道我这样设计不好, 应该如何设计呢? |
||||
-- 作者:狐狸爸爸 -- 发布时间:2016/10/4 9:41:00 -- 如果全部写在AfterLoad事件会有死循环。 加载订单→订单的AfterLoad加载订单明细→订单明细的AfterLoad加载产品→产品的AfterLoad加载订单明细→订单明细的AfterLoad加载产品→产品的AfterLoad加载订单明细..... |
||||
-- 作者:seal51 -- 发布时间:2016/10/4 9:59:00 -- 哦,你们是如何设计的,一般不都是这么设计吗? |
||||
-- 作者:狐狸爸爸 -- 发布时间:2016/10/4 10:34:00 -- 如果要写在AfterLoad事件中。 要么根据产品加载订单明细。 要么根据订单加载订单明细,再根据订单明细加载产品。 只能二选择一。 我给你的建议 1、产品表的行不会多,所以默认全部加载即可。 2、订单和订单明细默认不加载 3、订房单表的Afterload事件: e.DataTable.LoadChildren("订单明细")
|
||||
-- 作者:seal51 -- 发布时间:2016/10/4 14:22:00 -- 产品的行很多, 已有5000行了,怎么办? |