Foxtable(狐表)用户栏目专家坐堂 → [求助] 动态加载关联表


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

主题:[求助] 动态加载关联表

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


加好友 发短信
等级:幼狐 帖子:130 积分:1141 威望:0 精华:0 注册:2013/6/9 11:20:00
[求助] 动态加载关联表  发帖心情 Post By:2018/6/8 10:24:00 [只看该作者]

我希望实现以下功能,请大家帮助。均为外部数据表。

方案一:

一:在项目启动时,根据用户分组确定加载哪些数据表。

例:当为生产人员组时,加载表A、表B、表C ,当为技术组时,加载表A,表D、表F

以上功能在BeforeLoadOuterTable中已实现,但如果在项目打开后,利用用户切换,由生产人员组切换成了技术组,并不会加载表D、表F.

以上用户切换难道要重启一次项目方可实现?

 

方案二:

一:在项目启动时只加载主页面表(表A)和用户管理表(表B),其它的表都不加载。

二:在主页面点击按键 A1时,打开生产录入窗口,同时加载表C,表D、表E 、表H 。其中表C与表D\表E相关联。

三:在主页面点击按键A2时,打开尺寸录入窗口,同时加载表C,表F,表G .其中表C与表F\表G相关联。(注:表C在点击A1时已加载了)

以上在实施时,在加载表D时,总是会报BeforeSelChange异常的错误,其中A1第一次点击时,因为三个表都未加载,所以可以顺利加载,

第二次点击时,因为加载过相应的表,再加载会报错。

以上,如何解决,谢谢!

 

[此贴子已经被作者于2018/6/8 10:25:03编辑过]

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


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

1、开始的时候,任何表格都不加载。然后再在LoadUserSetting事件(或者你自己切换用户的窗口),写上DataTables.Load("表A")这样的代码。

 

2、切换用户,或者增加功能的时候,先移除unload表格,然后再重新load相关的表格。


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


加好友 发短信
等级:幼狐 帖子:130 积分:1141 威望:0 精华:0 注册:2013/6/9 11:20:00
  发帖心情 Post By:2018/6/8 10:46:00 [只看该作者]

先移除表格是个很麻烦事,因为用户有N多个,相互间进行切换时,有时间都忘记用户表单哪些表为共同加载的表,哪几个共同加载的表又是有关联表存在的。尤其是改善一个完成了几年的老项目,所以,只能用移除全部存在有关联的表,然后再加载。这样的效率感觉还不如项目启动时就全部加载。不知道有没有更加方便简单的做法。

 

[此贴子已经被作者于2018/6/8 10:47:58编辑过]

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


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

以下是引用gfj7126在2018/6/8 10:46:00的发言:

先移除表格是个很麻烦事,因为用户有N多个,相互间进行切换时,有时间都忘记用户表单哪些表为共同加载的表,哪几个共同加载的表又是有关联表存在的。尤其是改善一个完成了几年的老项目,所以,只能用移除全部存在有关联的表,然后再加载。这样的效率感觉还不如项目启动时就全部加载。不知道有没有更加方便简单的做法。

 

[此贴子已经被作者于2018/6/8 10:47:58编辑过]

 

没有必要动态加载表。如果仅仅是想启动的时候快一些,可以全部表不加载,进入系统以后,再找一个机会把全部表加载出来(可以不加载数据)

 

如果确实要动态加载表,那就只能先移除再加载进来,没有其余的方法。


 回到顶部