在 项目开发时,想采用自定义的用户权限表,来控制加载不同的外部数据表和不同的字段,但在具体实现中,发生了困惑,主要原因为:
1、打开自定义登录界面,是发生在AfterOpenProject事件中的,而在这之前,已完成BeforeLoadInnerTable、BeforeLoadOuterTable等事件,故根本没有办法利用BeforeLoadOuterTable事件来控制不同DataTable的加载与否,及加载哪些字段。
2、当然我们可以利用BeforeLoadOuterTable事件不加载任何外部数据表,但由于各业务表的业务逻辑代码,必须放到了各业务表的相关事件中,若不加载外部数据表,就不能构造相应的DataTable,更无从放置该DataTable的各种事件代码。
综上所述,本人认为最理想的方法是:
1、1、 利用BeforeOpenProject事件检查是否已有实例运行。(只能运行一个实例)
2、2、利用BeforeConnectOuterDataSource事件检查外部数据源的情况并保证连接正确。
3、3、利用???事件生成登录界面,确定登录用户身份并获得该用户的权限记录。
4、4、利用BeforeLoadOuterTable事件,配合权限加载不同的表,不同的字段,不同的记录。
我 我的困惑就是第3点如何实现?请狐爸和高手们赐教。谢谢!!!!!
[此贴子已经被作者于2012-5-6 10:57:06编辑过]