以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 求助 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=101818) |
||||
-- 作者:等待 -- 发布时间:2017/6/7 20:04: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 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 这里选“不可见”时只是针对某表中的某列, 如何实现:选择“表名+不可见”时整个表都看不见 选择“表名+列名+不可见”时就这一列看不见
|
||||
-- 作者:有点色 -- 发布时间:2017/6/7 20:13:00 -- 改代码
|
||||
-- 作者:等待 -- 发布时间:2017/6/7 20:31:00 -- .NET Framework 版本:2.0.50727.4984 Foxtable 版本:2017.6.8.1 错误所在事件:项目,LoadUserSetting 详细错误信息: 未找到列 [分组名]。 重新打开项目时出现的提示
|
||||
-- 作者:等待 -- 发布时间:2017/6/7 20:33:00 -- 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 是不是这个代码也要改
|
||||
-- 作者:有点色 -- 发布时间:2017/6/7 20:37:00 -- 2楼的代码,要改成适合你表格的。
For Each dr As DataRow In DataTables("授权表").Select("分组名 = \'" & User.Group & "\'" )
不会做上传具体实例 |
||||
-- 作者:等待 -- 发布时间:2017/6/7 21:09:00 -- 上传实例 添加不了附件 |
||||
-- 作者:等待 -- 发布时间:2017/6/7 21:17:00 --
|
||||
-- 作者:等待 -- 发布时间:2017/6/7 21:29:00 --
|
||||
-- 作者:狐狸爸爸 -- 发布时间:2017/6/8 8:24:00 -- 你8楼的代码并没有问题啊 |
||||
-- 作者:等待 -- 发布时间:2017/6/8 8:27: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
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
这里选“不可见”时只是针对某表中的某列, 如何实现:选择“表名+不可见”但不选列名时整个表都看不见 选择“表名+列名+不可见”时就这一列看不见 |