以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助][求助]初始不加载数据的外部表,后又想加载了要怎么做?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=108286)

--  作者:叶夜青
--  发布时间:2017/10/19 15:31:00
--  [求助][求助]初始不加载数据的外部表,后又想加载了要怎么做?
 BeforeLoadOuterTable


某个表,是其它表子表,
初始不加载任何数据:


select * From {订单} Where
[_Identify] Is Null"
那之后又想加载了要怎么做?


(说明书里“动态加载”这一章举例大部分以内部表为主,于是我只用外部表的人就看得很疑惑,比如这样基本的问题我都看懵了)


哦, 我之前没说清楚,说的加载指的是数据

而且我在父表用了afterload里面e.DataTable.LoadChildren(" XXXX ")之后,这个子表还是空的
[此贴子已经被作者于2017/10/19 18:06:18编辑过]

--  作者:小美菜
--  发布时间:2017/10/19 15:50:00
--  

BeforeLoadOuterTable:中E.Cancel=True

后面:DataTables.Load("今日优选|今日提醒|今日单|今日池|显示牌|记录表|指标统计表“)


--  作者:有点甜
--  发布时间:2017/10/19 16:41:00
--  

什么时候需要加载,那就对应写代码

 

http://www.foxtable.com/webhelp/scr/2753.htm

 

http://www.foxtable.com/webhelp/scr/2755.htm

 


--  作者:叶夜青
--  发布时间:2017/10/19 17:45:00
--  
哦, 我之前没说清楚,说的加载指的是数据


就是之前先加载了空表





我后来试了下这样能行
Dim Filter As String = "[_Identify] > 0" 
DataTables("盖章及交表记录").AppendLoad(Filter, False)

哦, 不对, 应该这样就行
DataTables("盖章及交表记录").LoadFilter = "" 
DataTables("盖章及交表记录").Load

话说 


    e.DataTable.LoadChildren("盖章及交表记录")
不知道为啥没有效果
[此贴子已经被作者于2017/10/19 18:16:08编辑过]

--  作者:有点甜
--  发布时间:2017/10/19 17:55:00
--  

1、你父表没有加载数据,那么执行LoadChildren的话,子表怎么可能有数据?子表的数据根据父表的数据加载的。

 

2、具体例子发上来说明。


--  作者:叶夜青
--  发布时间:2017/10/19 18:22:00
--  
哦, 找到原因了,估计是这个判断语句错了

afterload:

If User.ExtendedValues("数据范围") = "本人数据" Then

    e.DataTable.LoadChildren("盖章及交表记录")
    e.DataTable.LoadChildren("项目动态")
    e.DataTable.LoadChildren("项目文件表")

End If

--  作者:有点甜
--  发布时间:2017/10/19 19:22:00
--  

弹出值看看是否正确

 

msgbox(User.ExtendedValues("数据范围") )


--  作者:叶夜青
--  发布时间:2017/10/20 9:06:00
--  
我明白我错在哪了,我还以为AFTERLOAD是加载项目时就自动会执行的

但是好像AFTERLOAD并没有被执行,我想它执行的

那我应该把LoadChildren放哪个事件里?
[此贴子已经被作者于2017/10/20 9:14:05编辑过]

--  作者:有点甜
--  发布时间:2017/10/20 9:29:00
--  
代码写到AfterOpenProject事件去。