以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]可视化授权类,在哪个事件中判断用户不可见表时不加载数据好呢?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=8974)

--  作者:ddlzq
--  发布时间:2011/1/6 10:39:00
--  [求助]可视化授权类,在哪个事件中判断用户不可见表时不加载数据好呢?

各位老师:

    我的一个项目中有多个表,有的用户表通过可视化授权不可见,那么我在哪个事件里来判断用户不可见表,然后这个表就不加载数据呢?哪位老师能帮简单写段代码我学习下,谢谢。

[此贴子已经被作者于2011-1-6 10:40:05编辑过]

--  作者:狐狸爸爸
--  发布时间:2011/1/6 10:46:00
--  
具体情况具体分析,请提供简单的示例文件。
--  作者:ddlzq
--  发布时间:2011/1/6 11:40:00
--  

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:判断用户不可见表不加载数据.rar

有两个用户A和B

有两个表A表和B表

做了可视化授权,A用户看不到B表,我想做A用户登录时看不到B表,B表就不加载数据,这样会节省资源,狐爸帮看下,应该放到哪里判断比较好,另外我做的项目是外部表,可不可以把可视化授权改在外部连接数据判断上?


--  作者:狐狸爸爸
--  发布时间:2011/1/6 15:19:00
--  

BeforeLoadInnerTable设置代码:


Select Case e.DataTableName
    Case "A表","B表"
        e.Filter = "False"
End Select

这样默认不加载数据。

 

然后设置在自己的权限表增加一逻辑列,在LoadUserSetting中读取此列的值,设置对应表的LoadFilter条件,来加载数据即可。


--  作者:ddlzq
--  发布时间:2011/1/10 17:47:00
--  
以下是引用狐狸爸爸在2011-1-6 15:19:00的发言:

BeforeLoadInnerTable设置代码:


Select Case e.DataTableName
    Case "A表","B表"
        e.Filter = "False"
End Select

这样默认不加载数据。

 

然后设置在自己的权限表增加一逻辑列,在LoadUserSetting中读取此列的值,设置对应表的LoadFilter条件,来加载数据即可。

狐爸:

如果是外部SQL表呢?好像不能使用Filter

哦,我想了,是不是先将所有表都不加载外部数据,然后,只通过loadusersetting新增的加载判断逻辑列是否加载数据?

[此贴子已经被作者于2011-1-10 17:48:52编辑过]

--  作者:狐狸爸爸
--  发布时间:2011/1/10 18:08:00
--  

1、不是Filter,是LoadFilter。

2、Filter是筛选的,和加载无关。

 

你理解正确,就是先不加载任何数据,在loadusersetting加载


--  作者:ddlzq
--  发布时间:2011/1/11 16:35:00
--  
以下是引用狐狸爸爸在2011-1-10 18:08:00的发言:

1、不是Filter,是LoadFilter。

2、Filter是筛选的,和加载无关。

 

你理解正确,就是先不加载任何数据,在loadusersetting加载

狐爸能不能抽空帮写几句?我自己是没研究出来,呵呵


--  作者:lmk
--  发布时间:2011/1/11 20:38:00
--  

弱弱滴问一句:.foxdb是什么文件格式啊,怎么打开呢?


--  作者:ddlzq
--  发布时间:2011/1/11 22:20:00
--  
哦 是开发版做的例子,试用版到期了。
--  作者:狐狸爸爸
--  发布时间:2011/1/12 8:37:00
--  
以下是引用ddlzq在2011-1-11 22:20:00的发言:
哦 是开发版做的例子,试用版到期了。

 

开发版的狗,也支持商业版的。