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


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

主题:关于隐藏列

帅哥哟,离线,有人找我吗?
裴保民
  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


加好友 发短信
等级:八尾狐 帖子: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编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
裴保民
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | 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编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
裴保民
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | 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编辑过]

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


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

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

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


加好友 发短信
等级:八尾狐 帖子:1989 积分:12631 威望:0 精华:0 注册:2017/4/3 15:01:00
  发帖心情 Post By:2017/12/18 11:07:00 [显示全部帖子]

怎么修改复选列表框已知列表项列的名称呀

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


加好友 发短信
等级:八尾狐 帖子:1989 积分:12631 威望:0 精华:0 注册:2017/4/3 15:01:00
  发帖心情 Post By:2017/12/18 11:48:00 [显示全部帖子]

甜老师如果只知道项目名不知道序号怎么处理呢?就是想把已知的名称改为另外一个名称或者起个别名一别名显示也可以,该怎么处理呢?

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


加好友 发短信
等级:八尾狐 帖子:1989 积分:12631 威望:0 精华:0 注册:2017/4/3 15:01:00
  发帖心情 Post By:2017/12/18 20:36:00 [显示全部帖子]

如果数据库中无数据是会报如下错误:

图片点击可在新窗口打开查看此主题相关图片如下:错误1.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:错误2.png
图片点击可在新窗口打开查看

怎么处理?



[此贴子已经被作者于2017/12/18 20:36:39编辑过]

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


加好友 发短信
等级:八尾狐 帖子:1989 积分:12631 威望:0 精华:0 注册:2017/4/3 15:01:00
  发帖心情 Post By:2017/12/18 20:50:00 [显示全部帖子]

Dim tzsx As WinForm.RadioButton = e.Form.Controls("tiaozhengliedeshunxuRadioButton")
If tzsx.Checked Then
If e.Checked Then
    Dim cst As WinForm.CheckedListBox = e.sender
    For i As Integer = 0 To cst.Items.count - 1
        If i <> e.Index Then
            cst.SetItemChecked(i, False)
        End If
    Next
End If
End If
Dim t As Table = e.Form.controls("Table1").Table
t.Select(0,e.Index)
t.LeftVisibleCol = e.Index

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:显示隐藏列 全.table



[此贴子已经被作者于2017/12/18 21:12:16编辑过]

 回到顶部