Foxtable(狐表)用户栏目专家坐堂 → loadchildren查询过于复杂


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

主题:loadchildren查询过于复杂

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


加好友 发短信
等级:四尾狐 帖子:843 积分:5982 威望:0 精华:0 注册:2013/6/29 9:36:00
loadchildren查询过于复杂  发帖心情 Post By:2016/12/5 20:18:00 [显示全部帖子]

入库明细:afterload 事件:e.DataTable.LoadChildren("材料","定额编码","定额编码")
主要我感觉是我:采购入库的窗口中有一个;材料,的图片。是关联的,材料-图片。
图片点击可在新窗口打开查看此主题相关图片如下:77.jpg
图片点击可在新窗口打开查看

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


加好友 发短信
等级:四尾狐 帖子:843 积分:5982 威望:0 精华:0 注册:2013/6/29 9:36:00
  发帖心情 Post By:2016/12/6 10:46:00 [显示全部帖子]

我看一下,是因为,我在,材料表,afterload ,里面也加入了:'e.DataTable.LoadChildren("入库明细","定额编码","定额编码")
这样,在入库明细,执行e.DataTable.LoadChildren("材料","定额编码","定额编码")时,材料表,也执行上面代码,形成循环了吧?
要怎么处理?

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


加好友 发短信
等级:四尾狐 帖子:843 积分:5982 威望:0 精华:0 注册:2013/6/29 9:36:00
  发帖心情 Post By:2016/12/6 10:51:00 [显示全部帖子]

我在;入库明细:代码改成:Systemready = False
e.DataTable.LoadChildren("材料","定额编码","定额编码")
Systemready = True
材料表的不变。
还是一样的弹错。

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


加好友 发短信
等级:四尾狐 帖子:843 积分:5982 威望:0 精华:0 注册:2013/6/29 9:36:00
  发帖心情 Post By:2016/12/6 11:30:00 [显示全部帖子]

加个全局变量canload,逻辑型(不管是:原始量不设置,还是设置为:true)都 不行。还是说查询过复杂 。我数据量不大。

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


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


加好友 发短信
等级:四尾狐 帖子:843 积分:5982 威望:0 精华:0 注册:2013/6/29 9:36:00
  发帖心情 Post By:2016/12/7 12:07:00 [显示全部帖子]

有点蓝,老师。
你说的不写到AFTERLOAD,里面,写到其它 地方,一般可以写哪些地方比较好?

全局变量:vars("canload")是逻辑的。原始值:true

入库明细。afterload::代码如下
If Vars("canload") = True Then
    systemready = False
    Tables("入库明细").StopRedraw
    Vars("canload")=False
    DataTables("入库明细").LoadChildren("材料", "定额编码", "定额编码")
    Tables("入库明细").ResumeRedraw
    systemready = True
    Vars("canload")=True
End If
材料。afterload::代码如下
'If Vars("canload") = True Then
    'MessageBox.show(0)
    'Vars("canload")=False
    'e.DataTable.LoadChildren("入库明细")
    'Vars("canload")=True
'End If

在执行:入库明细的代码后,为什么 材料表的:'MessageBox.show(0)执行。这个我想不太通?
[此贴子已经被作者于2016/12/7 13:37:15编辑过]

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


加好友 发短信
等级:四尾狐 帖子:843 积分:5982 威望:0 精华:0 注册:2013/6/29 9:36:00
  发帖心情 Post By:2016/12/7 20:18:00 [显示全部帖子]

留个标记:狐爸标记的是:做两个按钮:

http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=91215&authorid=0&page=0&star=1

每次做例子,我感觉多费时间的,30-40分钟得要吧。有没有什么办法教一教怎么快速做例子?(外部SQL数据源)
[此贴子已经被作者于2016/12/7 20:19:50编辑过]

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


加好友 发短信
等级:四尾狐 帖子:843 积分:5982 威望:0 精华:0 注册:2013/6/29 9:36:00
  发帖心情 Post By:2016/12/8 10:06:00 [显示全部帖子]


在窗口中,点左侧的:的目录树:加载 采购订单--加载:采购明细---加载:材料--(因为,材料的afterload有加载代码,所以报错,查询过于复杂 。)

为什么要在材料加:AFTERLOAD呢。目的是,有一个材料窗口,下面有一个:入库明细。是希望材料窗口打开时,能加载 对应的入库明细。在采购订单窗口,应该是不执行:材料的afterload
[此贴子已经被作者于2016/12/9 16:04:40编辑过]

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


加好友 发短信
等级:四尾狐 帖子:843 积分:5982 威望:0 精华:0 注册:2013/6/29 9:36:00
  发帖心情 Post By:2016/12/8 11:45:00 [显示全部帖子]

???没人了呢?

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


加好友 发短信
等级:四尾狐 帖子:843 积分:5982 威望:0 精华:0 注册:2013/6/29 9:36:00
  发帖心情 Post By:2016/12/8 12:08:00 [显示全部帖子]

没看懂,还要增加一个:vars("材料_load") 变更 吗?还是说就用:原来 的canload,变更 ?

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


加好友 发短信
等级:四尾狐 帖子:843 积分:5982 威望:0 精华:0 注册:2013/6/29 9:36:00
  发帖心情 Post By:2016/12/9 13:04:00 [显示全部帖子]

vars("材料_load")  再加一个变量,可以暂时实现 ,不过,这样代码可能会很乱。而且许多窗口都要增加更多的VARS变量。来交叉控制。会很乱。

实现不行,就:材料,表全加载。以后再解决了。我想应该有好一些的办法的。
[此贴子已经被作者于2016/12/9 13:05:38编辑过]

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