Rss & SiteMap
Foxtable(狐表) http://www.foxtable.com
权限设置不起作用,不知问题在哪。开发者密码:58011700
项目属性LoadUserSetting事件
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
下载信息 [文件大小: 下载次数: ] | |
点击浏览该文件:123.rar |
代码没有错,你可以在命令窗口执行下面的代码验证:
If User.Type = UserTypeEnum.User Then
For Each dr As DataRow In DataTables("权限表").Select("用户名 = '" & User.Name & "'" )
Tables(dr("表名")).AllowEdit = Not dr("不能编辑")
output.show(dr("表名") & ":" & Tables(dr("表名")).AllowEdit)
Next
End If
你的代码只是设置了打开项目后,表是否能能编辑。
但是之后表的编辑状态是可以改变的,例如你在窗口中插入了一个Table控件,但是这个Table控件的允许编辑属性设置为了True,那么打开窗口后,这个Table就能够编辑,不管它之前是否能编辑。
你的MainTable事件中设置了代码用于打开窗口,而这些窗口中的Table的允许编辑属性都设置为了True,所以这些Table都是能编辑的,
下载信息 [文件大小: 下载次数: ] | |
点击浏览该文件:456.rar |
提醒一下:
123.rar这个项目,窗口的自动打开属性是False,456.rar这个项目的自动打开属性为True
这就是他们的差别,前者执行LoadUserSetting,再打开的窗口(MainTableChanged事件),后者一开始就打开了窗口,再执行LoadUserSetting,尽管MaintableChanged也设置了打开窗口的代码,但是由于窗口已经打开,所以无效。