以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  实时隐形或显示列  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=108432)

--  作者:蓝蚂蚁
--  发布时间:2017/10/23 8:34:00
--  实时隐形或显示列
If e.DataCol.Name = "显非" AndAlso e.DataRow("显非") = False Then
    Tables("A表").Cols("非计划").Visible = False
    Tables("A表").Cols("非计划厂家").Visible = False
    Tables("A表").Cols("非计划生产企业").Visible = False
    Tables("A表").Cols("非计划采购价").Visible = False
else
    Tables("A表").Cols("非计划").Visible = true
    Tables("A表").Cols("非计划厂家").Visible = true
    Tables("A表").Cols("非计划生产企业").Visible = true
    Tables("A表").Cols("非计划采购价").Visible = true
End If
上面的代码是逻辑列【显非】如果不选中则隐藏【非计划】【非计划厂家】【非计划生产企业】【非计划采购价】,反之如果选中则显示。不过上面的代码只在表操作可行,但如果我窗口中A表作为副本,在窗口中操作就不行,请问如果在窗口中作为副本代码如何写,谢谢老师!

--  作者:有点甜
--  发布时间:2017/10/23 8:44:00
--  
If e.DataCol.Name = "显非" AndAlso e.DataRow("显非") = False Then
    For Each t As Table In Tables
        If t.DataTable.name = "A表" Then
            t.Cols("非计划").Visible = False
            t.Cols("非计划厂家").Visible = False
            t.Cols("非计划生产企业").Visible = False
            t.Cols("非计划采购价").Visible = False
        End If
    Next
   
Else
    For Each t As Table In Tables
        If t.DataTable.name = "A表" Then
            t.Cols("非计划").Visible = True
            t.Cols("非计划厂家").Visible = True
            t.Cols("非计划生产企业").Visible = True
            t.Cols("非计划采购价").Visible = True
        end if
    Next
   
End If

--  作者:蓝蚂蚁
--  发布时间:2017/10/23 8:58:00
--  
无语言表的感谢!