-- 授权表
按照实例中的授权表,“列名”可否设置成多值字段进行多选,也就是说“列名”里显示多列
If e.Col.Name = "列名" Then
Dim s As String = e.Row("表名")
If s > "" AndAlso Tables.Contains(s) Then
Dim t As Table = Tables(s)
s = ""
For Each c As Col In t.Cols
s = s & "|" & c.Name
Next
e.Col.ComboList = s
End If
End If
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
Return
End If
For Each dr As DataRow In DataTables("授权表").Select("用户名 = \'" & User.Name & "\'" )
If dr.IsNull("列名") Then
For Each t As Table In Tables
If t.DataTable.Name = dr("表名") Then
t.Visible = Not dr("不可见")
t.AllowEdit = Not dr("不可编辑")
End If
Next
Else
For Each t As Table In Tables
If t.DataTable.Name = dr("表名") Then
For Each c As Col In t.Cols
If c.Name = dr("列名") Then
c.Visible = Not dr("不可见")
c.AllowEdit = Not dr("不可编辑")
End If
Next
End If
Next
End If
Next