教材上的代码:
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
现想转换成可见或可编辑的授权,应该怎么改,我直接把上述的代码改成下面的方式,但没法正常授权,不知道是不是逻辑判断的问题:
For
Each t As
Table
In
Tables
t.Visible = FALSE
t.AllowEdit
= FALSE
For
Each c As Col In t.Cols
c.Visible = FALSE
c.AllowEdit = FALSE
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 = dr("可见")
Tables(dr("表名")).AllowEdit = dr("可编辑")
Else
Tables(dr("表名")).Cols(dr("列名")).Visible = dr("可见")
Tables(dr("表名")).Cols(dr("列名")).AllowEdit = dr("可编辑")
End
If
Next
End
If
麻烦帮一下忙,谢谢!