以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]窗口表根据某列的列值隐藏其他列  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=111540)

--  作者:jyh7081
--  发布时间:2017/12/24 14:37:00
--  [求助]窗口表根据某列的列值隐藏其他列

窗口表 Tables("EMS编辑_table2"),根据“审判程序”列值的不同,隐藏其他列;

现在仅第一段代码运行正确(就是“If e.Table.Current("审判程序") = "一审" Then...”),

后面两段代码把图中第三列以后的多层列都隐藏了,是什么原因?

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

 

窗口表的CurrentChanged事件代码:

If e.Table.Current Is Nothing Then Return    \'根据某列内容隐藏列
If e.Table.Current("审判程序") = "一审" Then
    For Each c As Col In Tables("EMS编辑_table2").Cols
        If c.name.startswith("二审_") Or c.name.startswith("行审_") Then
            c.Visible = False
        End If
    Next
ElseIf e.Table.Current("审判程序") = "二审" Then
    For Each c As Col In Tables("EMS编辑_table2").Cols
        If c.name.startswith("一审_") Or c.name.startswith("行审_") Then
            c.Visible = False
        End If
    Next
ElseIf e.Table.Current("审判程序") = "行审" Then
    For Each c As Col In Tables("EMS编辑_table2").Cols
        If c.name.startswith("一审_") Or c.name.startswith("二审_") Then
            c.Visible = False
        End If
    Next
Else
    Return
End If



--  作者:有点甜
--  发布时间:2017/12/24 20:52:00
--  

你只是隐藏,没有还原,你需要还原的。

 

        If c.name.startswith("一审_") Or c.name.startswith("行审_") Then
            c.Visible = False

        Else

            c.Visible = True
        End If