以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  如何隐藏关联表列  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=90183)

--  作者:紫色幽魂
--  发布时间:2016/9/7 11:19:00
--  如何隐藏关联表列
我要在每次加载的时候隐藏关联表的部分列,但是不知道写后放在哪儿,求教下
With Tables("构件清单.检测项目")
    .Cols("月份").Visible = False
    .Cols("车间").Visible = False
    .Cols("班组").Visible = False
    .Cols("工程名称").Visible = False
    .Cols("子项名称").Visible = False
    .Cols("构件编号").Visible = False
End With

--  作者:狐狸爸爸
--  发布时间:2016/9/7 11:24:00
--  
放在这里:
http://www.foxtable.com/webhelp/scr/0661.htm

--  作者:紫色幽魂
--  发布时间:2016/9/7 11:32:00
--  
我放在表属性里面,重新打开表后还是会出现
单独执行代码和第一次执行代码的时候倒是能够隐藏

--  作者:狐狸爸爸
--  发布时间:2016/9/7 12:01:00
--  
我测试没有问题:
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目276.table


注意代码要写在子表的事件中

--  作者:紫色幽魂
--  发布时间:2016/9/7 13:57: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

 

计划管理

 

表事件

 

检测项目_AfterLoadTableSetting

 

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

 

窗口表事件

 

窗口与控件事件

 

自定义函数

 

全局代码

 

Default

 

 

 

菜单事件

 

 

[此贴子已经被作者于2016/9/7 13:57:49编辑过]

--  作者:有点蓝
--  发布时间:2016/9/7 14:26:00
--  
上面代码没有问题,删除了什么代码?

最好上例子看看

--  作者:紫色幽魂
--  发布时间:2016/9/7 14:46:00
--  
我需要把关联表的部分列隐藏掉,但只是在加进表事件的时候和点击表事件再点击确定的时候回执行,隐藏,不会在加载表之后自动隐藏
--  作者:紫色幽魂
--  发布时间:2016/9/7 14:51:00
--  
我不知道怎么上传附件,
--  作者:紫色幽魂
--  发布时间:2016/9/7 14:52:00
--  
密码cls
--  作者:有点蓝
--  发布时间:2016/9/7 14:57:00
--  
http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&Id=78
一次不行,重复上传多几次