以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- loadchildren查询过于复杂 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=93733) |
|
-- 作者:yancheng -- 发布时间:2016/12/5 20:18:00 -- loadchildren查询过于复杂 入库明细:afterload 事件:e.DataTable.LoadChildren("材料","定额编码","定额编码") |
|
-- 作者:有点蓝 -- 发布时间:2016/12/5 21:05:00 -- 去掉这句代码能不能加载? |
|
-- 作者:yancheng -- 发布时间:2016/12/6 10:46:00 -- 我看一下,是因为,我在,材料表,afterload ,里面也加入了:\'e.DataTable.LoadChildren("入库明细","定额编码","定额编码") 这样,在入库明细,执行e.DataTable.LoadChildren("材料","定额编码","定额编码")时,材料表,也执行上面代码,形成循环了吧? 要怎么处理?
|
|
-- 作者:有点色 -- 发布时间:2016/12/6 10:51:00 -- 如果想不形成循环,这样写
SystemReady = false e.DataTable.LoadChildren("材料","定额编码","定额编码") SystemReady = true |
|
-- 作者:yancheng -- 发布时间:2016/12/6 10:51:00 -- 我在;入库明细:代码改成:Systemready = False e.DataTable.LoadChildren("材料","定额编码","定额编码") Systemready = True 材料表的不变。 还是一样的弹错。
|
|
-- 作者:有点蓝 -- 发布时间:2016/12/6 10:53:00 -- 加个全局变量canload,逻辑型 if vars("canload") = true then vars("canload") = false e.DataTable.LoadChildren("入库明细","定额编码","定额编码") vars("canload") = true end if if vars("canload") = true then vars("canload") = false e.DataTable.LoadChildren("材料","定额编码","定额编码") vars("canload") = true end if |
|
-- 作者:有点色 -- 发布时间:2016/12/6 10:57:00 -- 如果提示【查询过于复杂】,有可能是你数据量过多造成的。
你试试这种方法,看生成的查询语句是什么 http://www.foxtable.com/webhelp/scr/2228.htm
|
|
-- 作者:yancheng -- 发布时间:2016/12/6 11:30:00 --
|
|
-- 作者:有点蓝 -- 发布时间:2016/12/6 11:33:00 -- 那就换其它方式,不要在afterload里互相加载了 |
|
-- 作者:wjl-se -- 发布时间:2016/12/6 14:00:00 -- e.DataTable.LoadChildren("材料","定额编码","定额编码") 这种是没建立关联的语法,看一楼好像是已经建立关联了,那就直接e.DataTable.LoadChildren("材料")就行了 |