Foxtable(狐表)用户栏目专家坐堂 → 关于隐藏列


  共有2304人关注过本帖树形打印复制链接

主题:关于隐藏列

帅哥哟,离线,有人找我吗?
裴保民
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1989 积分:12631 威望:0 精华:0 注册:2017/4/3 15:01:00
关于隐藏列  发帖心情 Post By:2017/12/16 23:48:00 [只看该作者]

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编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/12/17 20:28:00 [只看该作者]

For Each c As Col In t.cols

    c.visible = True
    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
    End If
    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
    End If
Next

[此贴子已经被作者于2017/12/17 20:28:49编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
裴保民
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1989 积分:12631 威望:0 精华:0 注册:2017/4/3 15:01:00
  发帖心情 Post By:2017/12/17 21:31:00 [只看该作者]

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
        c.visible = True
        If  c.name = "身份证号" OrElse c.name = "客户主手机号" OrElse c.name = "第二手机号"  OrElse c.name = "第三手机号" OrElse c.name = "身份证照片"   Then
            If _UserGroup = "数据操作员" Then
                s=s &"|"& c.Name
            End If   
        If 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
  End If
    Next
For Each c As Col In t.cols
    c.visible = True
    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
    End If
    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
    End If
Next
    lieming.ComboList=s







甜老师还是不行,系统管理员,照片列不隐藏

图片点击可在新窗口打开查看此主题相关图片如下:阿里旺旺图片20171217213251.jpg
图片点击可在新窗口打开查看

[此贴子已经被作者于2017/12/17 23:07:45编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/12/17 23:40:00 [只看该作者]

For Each c As Col In t.cols
    c.visible = True
    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
    End If
    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
    End If
    If c.name = "备注"  OrElse c.name = "身份证照片" Then
        If _UserGroup = "系统管理员" OrElse _UserGroup = "数据操作员" Then
            c.visible = True
        Else
            c.visible = False
           
        end if
    End If
Next

 回到顶部
帅哥哟,离线,有人找我吗?
裴保民
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1989 积分:12631 威望:0 精华:0 注册:2017/4/3 15:01:00
  发帖心情 Post By:2017/12/17 23:45:00 [只看该作者]

我的是两段代码呢?一段是表加载列,一段是组合列表框加载列,您这只是其中一段呀,表加载列也得改呀


我想实现,一加载窗体就实现
(1)如果角色是“系统管理员”:除了“客户主手机号掩码显示”、"第二手机号掩码显示" 、 "第三手机号掩码显示"  "备注" 、"身份证照片" 列以外所有列都分别加载到窗体的表和组合列表框中
(1)如果角色是“数据操作员”:除了“客户主手机号”、"第二手机号" 、 "第三手机号"  "备注" 、"身份证照片" 列以外所有列都分别加载到窗体的表和组合列表框中

怎么老是只执行前一段代码,后一段代码不执行呢?
[此贴子已经被作者于2017/12/17 23:53:12编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/12/17 23:49:00 [只看该作者]

Dim t,_Usergroup,s
For Each c As Col In t.cols
    c.visible = True
    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
    End If
    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
    End If
    If c.name = "备注"  OrElse c.name = "身份证照片" Then
        If _UserGroup = "系统管理员" OrElse _UserGroup = "数据操作员" Then
            c.visible = True
        Else
            c.visible = False
           
        End If
    End If
Next
s = ""
For Each c As Col In t.cols
    If c.visible Then
        s = s & "|" & c.name
    End If
Next

 回到顶部
帅哥哟,离线,有人找我吗?
裴保民
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1989 积分:12631 威望:0 精华:0 注册:2017/4/3 15:01:00
  发帖心情 Post By:2017/12/17 23:54:00 [只看该作者]

我想实现,一加载窗体就实现
(1)如果角色是“系统管理员”:除了“客户主手机号掩码显示”、"第二手机号掩码显示" 、 "第三手机号掩码显示"  "备注" 、"身份证照片" 列以外所有列都分别加载到窗体的表和组合列表框中
(1)如果角色是“数据操作员”:除了“客户主手机号”、"第二手机号" 、 "第三手机号"  "备注" 、"身份证照片" 列以外所有列都分别加载到窗体的表和组合列表框中

怎么老是只执行前一段代码,后一段代码不执行呢?

把代码改为您的代码执行后备注和照片列都不隐藏    两个角色备注和照片列都不隐藏

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
    c.visible = True
    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
    End If
    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
    End If
    If c.name = "
备注"  OrElse c.name = "身份证照片" Then
        If _UserGroup = "
系统管理员" OrElse _UserGroup = "数据操作员" Then
            c.visible = True
        Else
            c.visible = False
            
        End If
    End If
Next
s = ""
For Each c As Col In t.cols
    If c.visible Then
        s = s & "|" & c.name
    End If
Next

        Else

       lieming.ComboList=s

[此贴子已经被作者于2017/12/18 0:57:27编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/12/18 9:00:00 [只看该作者]

For Each c As Col In t.cols
    c.visible = True
    If  c.name = "身份证号" OrElse c.name = "客户主手机号" OrElse c.name = "第二手机号"  OrElse c.name = "第三手机号" OrElse c.name = "备注"  OrElse c.name = "身份证照片"  Then
        If _UserGroup = "系统管理员" Then
            c.visible = False
        Else
            c.visible = true
        End If
    End If
    If  c.name = "身份证号掩码显示" OrElse c.name = "客户主手机号掩码显示" OrElse c.name = "第二手机号掩码显示"  OrElse c.name = "第三手机号掩码显示" OrElse c.name = "备注"  OrElse c.name = "身份证照片"  Then
        If _UserGroup = "数据操作员" Then
            c.visible = false
        Else
            c.visible = true
        End If
    End If
    If c.name = "备注"  OrElse c.name = "身份证照片" Then
        If _UserGroup = "系统管理员" OrElse _UserGroup = "数据操作员" Then
            c.visible = false
        Else
            c.visible = true
        End If
    End If
Next
s = ""
For Each c As Col In t.cols
    If c.visible Then
        s = s & "|" & c.name
    End If
Next


 回到顶部
帅哥哟,离线,有人找我吗?
裴保民
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1989 积分:12631 威望:0 精华:0 注册:2017/4/3 15:01:00
  发帖心情 Post By:2017/12/18 9:40:00 [只看该作者]

怎样设置表和组合列表框都绑不上数据表

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:109736 积分:558396 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/12/18 10:01:00 [只看该作者]

上传示例说明

 回到顶部
总数 19 1 2 下一页