Foxtable(狐表)用户栏目专家坐堂 → 项止打开不加载任数据


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

主题:项止打开不加载任数据

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


加好友 发短信
等级:童狐 帖子:257 积分:1971 威望:0 精华:0 注册:2012/12/20 8:21:00
项止打开不加载任数据  发帖心情 Post By:2013/12/9 19:49:00 [只看该作者]


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

 

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


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2013/12/9 19:56:00 [只看该作者]

 不加载数据,参考


 不加载表,参考

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

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


加好友 发短信
等级:童狐 帖子:200 积分:1380 威望:0 精华:0 注册:2013/11/6 17:35:00
  发帖心情 Post By:2013/12/10 0:30:00 [只看该作者]

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


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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/12/10 8:26:00 [只看该作者]

不加载数据是不加载数据,但是还会加载空表.  不加载表是什么都不做.


你喜欢怎么查询都可以.

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


加好友 发短信
等级:童狐 帖子:257 积分:1971 威望:0 精华:0 注册:2012/12/20 8:21:00
  发帖心情 Post By:2013/12/10 8:43:00 [只看该作者]

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

 

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


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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/12/10 8:51:00 [只看该作者]

第三个帮助点这里http://www.foxtable.com/help/index.html?n=2752.htm


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

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


加好友 发短信
等级:童狐 帖子:257 积分:1971 威望:0 精华:0 注册:2012/12/20 8:21:00
  发帖心情 Post By: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
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/12/10 9:33:00 [只看该作者]

1.不可能1个表都不显示的,狐表要求至少要显示1个表. 你可以使用一个空的内部表.

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

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/12/10 9:34:00 [只看该作者]

其实如果你选择了隐藏表标题,多少个表,你也看不出来的啊.



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


加好友 发短信
等级:童狐 帖子:257 积分:1971 威望:0 精华:0 注册:2012/12/20 8:21:00
  发帖心情 Post By:2013/12/10 9:34:00 [只看该作者]

关于动态加载表

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

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

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

 

 

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


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