以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  项止打开不加载任数据  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=43536)

--  作者:yedaoan
--  发布时间:2013/12/9 19:49:00
--  项止打开不加载任数据


图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看

 

项目打开后,总是会自动加载表,如果让项目打开不加载任何数据,只有按功能上的按键后,才打开相应的窗体


--  作者:有点甜
--  发布时间:2013/12/9 19:56:00
--  
 不加载数据,参考


 不加载表,参考

[此贴子已经被作者于2013-12-10 20:12:21编辑过]

--  作者:653006728
--  发布时间:2013/12/10 0:30:00
--  

如果项目打开初始不加载数据 跟不加载表有什么区别,?  不加载数据的话 通过查询是否能够现实数据?


--  作者:Bin
--  发布时间:2013/12/10 8:26:00
--  
不加载数据是不加载数据,但是还会加载空表.  不加载表是什么都不做.


你喜欢怎么查询都可以.

--  作者:yedaoan
--  发布时间:2013/12/10 8:43:00
--  

有点甜,第三个帮助打不开,

 

其实,我要的是不加载任何表,只有我点击了功能区的菜单时,才打开相应的窗口,如果实现?


--  作者:Bin
--  发布时间:2013/12/10 8:51:00
--  
第三个帮助点这里http://www.foxtable.com/help/index.html?n=2752.htm


这也没什么难度
所有窗口设置不自动打开,然后在菜单Click事件里 输入 forms("XX").show 即可

--  作者:yedaoan
--  发布时间:2013/12/10 9:30:00
--  

这个难住我了

在项目的 BeforeLoadOuterTable 事件,我设置不载任何表,代码如下:

Select Case e.DataTableName
    Case "cp_cpinfo"
        e.Cancel = True
    Case "cust_user"
        e.Cancel =True
End Select

 

1、是达到了不加载表的目的,但是项目打开后,还是会自表产生一张表 “表1”

2、我点击了功能区的菜单后,提示 “所有者表 cp_cpinfo”不存在,由于我又在窗口里写了如下代码,希望能达到,不在界面上出现表,又能在中窗口上打开生成我要的数据(估且描述为 动态加载),

窗口的AfterLoad事件代码如下:

If DataTables.Contains("cp_cpinfo") = False Then \'如果表C没有加载
    DataTables.Load("cp_cpinfo") \'加载表C
End If

 

结果还是不行,我要怎么做?


 

 


--  作者:Bin
--  发布时间:2013/12/10 9:33:00
--  
1.不可能1个表都不显示的,狐表要求至少要显示1个表. 你可以使用一个空的内部表.

2.你可以加载完毕后选择隐藏这个表 tables(XX).visible=false

--  作者:Bin
--  发布时间:2013/12/10 9:34:00
--  
其实如果你选择了隐藏表标题,多少个表,你也看不出来的啊.



--  作者:yedaoan
--  发布时间:2013/12/10 9:34:00
--  

关于动态加载表

动态加载数据,只是针对表的数据而言,表本身始终会加载的。
一个规模较大的系统,表的数量可能会很多,如果多达上百个甚至几百个表,那么即使不加载任何数据,全部加载空表也是相当费时的。

我见过很多用户,为减少初始加载的表的数量,不采用常规的设计方式,而是大量采用窗口,在窗口中插入SQLTable型或者SQLQuery型Table控件,这样在打开窗口的时候,才加载表的结构和数据,以提高系统的启动速度;但这种设计方式,背离了Foxtable“简单高效”的初衷,对于多数用户来说并不太容易控制,而且每次打开窗口都要加载一次数据,有效率的损失;此外由于这种设计方式,会导致表依附于窗口,关联和表达式这些常用好用的功能,以及跨表的数据计算与调用,也不容易实现。

如果表本身也可以动态加载,在需要的时候加载表的结构和数据,在不需要的时候还能卸载掉这个表,就能做到在打开项目的时候只加载极少的表,而大部分的表留在打开相关功能模块的时候加载;且这些功能模块暂时不使用的时候,还能卸载掉相关的表,那么以后不管有多少个表,我们都可以按常规设计系统了。

 

 

其他帮助里这段话,说到我心里去了,就是不知如何实现?