以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  咨询初始打开项目时的加载条件的几个相关问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=120707)

--  作者:guosheng
--  发布时间:2018/6/22 10:37:00
--  咨询初始打开项目时的加载条件的几个相关问题
1、将加载条件放在在afteropenproject 和 BeforeLoadOuterTable,有什么区别吗?两者分别适合什么条件啊?

2、BeforeLoadOuterTable中设置加载条件,若要判定用户的角色,使用 If e.User.Isrole("部门经理")=false  或  If e.User.Isrole("部门经理")=0,都不行,应该怎么操作啊?
3、建立的外部数据表,过程中表名字有修改过,但是数据库中的名字保持“修改之前的名字,而foxtable显示的最新的表名。怎么回事,应该如何避免此类事件发生啊?

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

--  作者:有点甜
--  发布时间:2018/6/22 11:17:00
--  

1、BeforeLoadOuterTable如果没写代码,默然是加载全部数据进来的;如果写了代码,可以控制初始加载量;

 

afteropenproject写load代码属于第二次加载数据。

 

2、你用户角色是 user.roles 还是 _UserRoles?msgbox弹出对应的值看看

 

3、参考 http://www.foxtable.com/webhelp/scr/1817.htm

 


--  作者:guosheng
--  发布时间:2018/6/22 12:26:00
--  

1、如果BeforeLoadOuterTable没写代码,而afteropenproject写load代码。是不是:所有的数据都先加载进来,然后再执行afteropenproject写load代码重新加载表数据啊?

 

2、打开项目后在命令窗口执行msgbox(_UserRoles),提示未声明变量_UserRoles。



--  作者:有点甜
--  发布时间:2018/6/22 12:35:00
--  

1、一般逻辑:BeforeLoadOuterTable 写代码不加载任何数据,afteropenproject再写代码加载。

 

2、你的用户角色在哪里设置的?内置的用户管理?


--  作者:guosheng
--  发布时间:2018/6/22 13:17:00
--  
是根据帮助,在数据库中新建一个名为“Users”的表,包括Name、Group、Password三列,分别用于保存用户名、用户分组和密码。 用狐表内置的用户管理,进行管理的。
--  作者:有点甜
--  发布时间:2018/6/22 14:34:00
--  

如果使用这种【Name、Group、Password三列】,就不是使用内置的用户管理了。

 

登陆窗口是afterOpenProject事件才打开的,无法在BeforeLoadOuterTable事件获取登陆信息。

 

改成:BeforeLoadOuterTable写代码全部表都不加载任何数据,afteropenproject登陆以后,再写代码加载数据。