以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  动态加载表  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=114443)

--  作者:恒隆君
--  发布时间:2018/2/6 12:46:00
--  动态加载表

2、对于外部表,如果事先没有通过菜单将其添加到项目中,不能使用Load方法加载,但是可以使用OuterTableBuilder加载。


红色部分如何理解?
已添加到项目中,还要使用Load吗

--  作者:有点甜
--  发布时间:2018/2/6 14:19:00
--  

指的是这个方式添加外部表 http://www.foxtable.com/webhelp/scr/1812.htm

 

只有添加过的,才能load,没有添加的,不能unload和load


--  作者:恒隆君
--  发布时间:2018/2/6 15:04:00
--  

假定订单表是外部表, 希望初始并不加载订单表,而是在运行过程打开加载树进行分页加载,



是否BeforeLoadOuterTable事件代码为:

If e.DataTableName = "订单" Then
    e.Cancel = True \'打开项目的时候不加载此表
    

End
 If


If DataTables.Contains("订单") = False Then
    DataTables.
Load("订单") \'加载订单表,注意由于BeforeLoadOuterTable事件设置的代码,执行后只加载了结构,没有数据
End If
Tables(
"订单").OpenLoadTree("日期 YM",150,30,True\'打开加载树,加载树宽度150个像素,分页加载,每页30行
MainTable = Tables(
"订单"\'切换到订单表



如果只是想打开订单表时,才加载。是否如此写代码?


--  作者:有点甜
--  发布时间:2018/2/6 15:06:00
--  
是的,你现在这样写有什么问题?
--  作者:恒隆君
--  发布时间:2018/2/6 21:35:00
--  
是的,报错:
不存在订单表

--  作者:有点蓝
--  发布时间:2018/2/6 22:05:00
--  
订单表要先添加到外部表管理中:http://www.foxtable.com/webhelp/scr/1812.htm
--  作者:恒隆君
--  发布时间:2018/2/7 10:28:00
--  
已经添加了,还是同样的报错
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:动态加载表.zip

[此贴子已经被作者于2018/2/7 10:28:55编辑过]

--  作者:有点甜
--  发布时间:2018/2/7 10:46:00
--  

这段代码不要写到beforeLoadOuterTable那里去,你要写到afterOpenProject或者任意你希望加载订单表的按钮里去

 

If DataTables.Contains("订单") = False Then
    DataTables.Load("订单") \'加载订单表,注意由于BeforeLoadOuterTable事件设置的代码,执行后只加载了结构,没有数据
End If
Tables("订单").OpenLoadTree("日期 YM",150,30,True) \'打开加载树,加载树宽度150个像素,分页加载,每页30行
MainTable = Tables("订单") \'切换到订单表


--  作者:恒隆君
--  发布时间:2018/2/7 12:00:00
--  
就是所有点击打开 订单表  的按键都在加入这段代码?

另外,是否离开表时, 必须卸载表?
以下代码放在哪里?

If DataTables.Contains("订单")  Then \'如果表C已经加载
    DataTables.Unload("
"\'卸载表C
End
 If

--  作者:有点甜
--  发布时间:2018/2/7 12:04:00
--  

1、你什么时候需要,就执行那段代码;

 

2、你加载表之后,没有卸载表的必要。