Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共6 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:[原创]

1楼
sunny_tang6688 发表于:2010/3/19 10:46:00

我现在做订单管理表,关天权限控制问题,业务员登录订单表后只能看到自己订单信息记录,怎么要去控制?急急.

2楼
yangming 发表于:2010/3/19 11:05:00

LoadUserSetting

打开系统或者切换用户之后执行,可以在此针对用户进行权限方面的设置。
此事件无e参数,因为通过系统变量User可以直接返回登录用户。

示例

例如只有管理员用户,才能编辑表A,可以在LoadUserSetting事件中加入下面的代码:

If User.Type = UserTypeEnum.Administrator Then
    DataTables
("表A").AllowEdit = True
Else
    DataTables
("表A").AllowEdit = False
End
If

提示:

如果项目没有提供切换用户的功能,那么可以直接在AfterOpenProject事件中设置上述代码。

3楼
foxor 发表于:2010/3/19 11:10:00
见帮助:只加载业务员为登录用户的订单If e.DataTableName = "订单"
    e.Filter =
"[业务员] = '" & e.User.Name & "'"
End
If

在项目事件的beforeloadinnertable中添加上述代码
4楼
狐狸爸爸 发表于:2010/3/19 11:40:00
用动态加载好一些
5楼
sunny_tang6688 发表于:2010/3/19 11:48:00
foxor我试了一下你提供了的语句,但是还是不行
我还在LoadUserSetting加了以下语句,是不是有影响?

For Each t As Table In Tables
    t.Visible = True
    t.AllowEdit = true
    For Each c As Col In t.Cols
        c.Visible = True
        c.AllowEdit = True
    Next
Next
Tables("授权表").Visible = (User.Type <> UserTypeEnum.User )
If User.Type = UserTypeEnum.User Then
    For Each dr As DataRow In DataTables("授权表").Select("分组名 = '" & User.Group & "'" )
        If dr.IsNull("列名") Then
            Tables(dr("表名")).Visible = Not dr("不可见")
            Tables(dr("表名")).AllowEdit = Not dr("不可编辑")
        Else
            Tables(dr("表名")).Cols(dr("列名")).Visible = Not dr("不可见")
            Tables(dr("表名")).Cols(dr("列名")).AllowEdit = Not dr("不可编辑")
        End If
       
    Next
End If
6楼
blackzhu 发表于:2010/3/19 13:05:00

用loadfilter加载比较好

共6 条记录, 每页显示 10 条, 页签: [1]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .02344 s, 2 queries.