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


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

主题:如何隐藏关联表列

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


加好友 发短信
等级:超级版主 帖子:109406 积分:556686 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/9/7 14:26:00 [显示全部帖子]

上面代码没有问题,删除了什么代码?

最好上例子看看

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


加好友 发短信
等级:超级版主 帖子:109406 积分:556686 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/9/7 14:57:00 [显示全部帖子]

http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&Id=78
一次不行,重复上传多几次

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


加好友 发短信
等级:超级版主 帖子:109406 积分:556686 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/9/7 16:53:00 [显示全部帖子]

嗯LoadUserSetting事件执行的晚,把隐藏的代码放到LoadUserSetting事件最后,这样非开发者登录就会隐藏了

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


加好友 发短信
等级:超级版主 帖子:109406 积分:556686 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/9/7 17:20:00 [显示全部帖子]

LoadUserSetting


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


If User.Name <> "开发者" Then

    RibbonTabs("Table").Visible = False

    RibbonTabs("Project").Visible = False

    RibbonTabs("Other").Groups("Execute").Items("SQLExecute").Enabled = False

    RibbonTabs("Other").Groups("Execute").Items("Command").Enabled = False

Else

    RibbonTabs("Table").Visible = True

    RibbonTabs("Project").Visible = True

    RibbonTabs("Other").Groups("Execute").Items("SQLExecute").Enabled = True

    RibbonTabs("Other").Groups("Execute").Items("Command").Enabled = True

End If


If e.Table.name = "构件清单.检测项目" Then

    e.Table.Cols("月份").visible =False

    e.Table.Cols("车间").visible =False

    e.Table.Cols("班组").visible =False

    e.Table.Cols("工程名称").visible =False

    e.Table.Cols("子项名称").visible =False

    e.Table.Cols("构件编号").visible =False

End If


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


加好友 发短信
等级:超级版主 帖子:109406 积分:556686 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/9/7 17:22:00 [显示全部帖子]

通过什么方式导的数据?

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


加好友 发短信
等级:超级版主 帖子:109406 积分:556686 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/9/7 17:58:00 [显示全部帖子]

改成

With Tables("构件清单.检测项目")
    .Cols("月份").Visible = False
    .Cols("车间").Visible = False
    .Cols("班组").Visible = False
    .Cols("工程名称").Visible = False
    .Cols("子项名称").Visible = False
    .Cols("构件编号").Visible = False
End With

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


加好友 发短信
等级:超级版主 帖子:109406 积分:556686 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/9/7 20:09:00 [显示全部帖子]

你的代码逻辑设置了只有普通用户才会隐藏

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


加好友 发短信
等级:超级版主 帖子:109406 积分:556686 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/9/9 10:22:00 [显示全部帖子]

自己的代码逻辑都看不懂?

Tables("授权表").Visible = (User.Type <> UserTypeEnum.User )

If  User.Type <> UserTypeEnum.User Then

    Return

End If


这里判断不是普通用户就返回了,不需要判断就去掉咯


 回到顶部