Dim t As Table = e.form.Controls("Table1").Table
Dim lieming As WinForm.CheckedListBox = e.Form.Controls("lieCheckedListBox")
Dim s As String
Dim tzlsx As WinForm.RadioButton = e.Form.Controls("tiaozhengliedeshunxuRadioButton")
If sjdcxzb="客户资料表" Then
t.DataSource =DataTables("客户资料")
t.Filter = forms("客户资料入库窗体").Controls("Table1").Table.Filter
t.SetColVisibleWidth(forms("客户资料入库窗体").Controls("Table1").Table.GetColVisibleWidth())
s = ""
For Each c As Col In t.cols
If c.name = "身份证号" OrElse c.name = "客户主手机号" OrElse c.name = "第二手机号" OrElse c.name = "第三手机号" OrElse c.name = "备注" OrElse c.name = "身份证照片" Then
If _UserGroup = "系统管理员" Then
s=s &"|"& c.Name
End If
ElseIf c.name = "身份证号掩码显示" OrElse c.name = "客户主手机号掩码显示" OrElse c.name = "第二手机号掩码显示" OrElse c.name = "第三手机号掩码显示" OrElse c.name = "备注" OrElse c.name = "身份证照片" Then
If _UserGroup = "数据操作员" Then
s=s &"|"& c.Name
End If
Else
s=s &"|"& c.Name
End If
Next
For Each c As Col In t.cols
If c.name = "身份证号" OrElse c.name = "客户主手机号" OrElse c.name = "第二手机号" OrElse c.name = "第三手机号" OrElse c.name = "备注" OrElse c.name = "身份证照片" Then
If _UserGroup = "系统管理员" Then
c.visible = True
Else
c.visible = False
End If
ElseIf c.name = "身份证号掩码显示" OrElse c.name = "客户主手机号掩码显示" OrElse c.name = "第二手机号掩码显示" OrElse c.name = "第三手机号掩码显示" OrElse c.name = "备注" OrElse c.name = "身份证照片" Then
If _UserGroup = "数据操作员" Then
c.visible = True
Else
c.visible = False
End If
Else
c.visible = True
End If
Next
lieming.ComboList=s
End If
老师这句代码哪有问题?为什么当登录程序角色为“数据操作员”时运行正常,可是一旦登录程序角色为“系统管理员”时“备注”和“身份证照片”列不隐藏呢?
如果将角色互换一下,“系统管理员”时运行正常,“数据操作员”列不隐藏,应该是循环语句的第二句代码不执行。麻烦看看是哪的原因呢?
[此贴子已经被作者于2017/12/17 9:02:20编辑过]