Rss & SiteMap

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

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

标题:权限设置

1楼
实话实说 发表于:2009/11/29 22:58:00
这是帮助中的代码: 

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.Name & "'" )
        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

运行后原来隐藏的表和隐藏的列全都出来了。
我现在只要设置表的编辑权限,不要涉及表和列的可见性

2楼
czy 发表于:2009/11/30 0:09:00

前面的全部不要。

Tables("授权表").Visible = (User.Type <> UserTypeEnum.User )
……

3楼
实话实说 发表于:2009/11/30 7:03:00

我的[权限表]只有用户名、[表名]和[不可编辑]三列,没有[列名],如下代码行吗?

Tables("授权表").Visible = (User.Type <> UserTypeEnum.User )
If
User.Type = UserTypeEnum.User Then
    For Each dr As DataRow In DataTables("授权表").Select("用户名 = '" & User.Name & "'" )
        
Tables(dr("表名")).Visible = Not dr("不可见")
        Tables
(dr("表名")).AllowEdit = Not dr("不可编辑")

    
Next
End
If

4楼
czy 发表于:2009/11/30 11:03:00
如果只有这三列,那么这行代码就得删除:Tables(dr("表名")).Visible = Not dr("不可见")
否则就得加上不可见列。
5楼
实话实说 发表于:2009/11/30 11:04:00
顶一下
6楼
czy 发表于:2009/11/30 11:08:00

顶什么?

7楼
实话实说 发表于:2009/11/30 12:07:00

 顶的时候没看见4楼

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

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

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