以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]如何返回窗口中table可见的列名  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=72282)

--  作者:huangfanzi
--  发布时间:2015/7/27 15:31:00
--  [求助]如何返回窗口中table可见的列名
列出当前用户能看到的窗口中的table表的所有列名,哪些被Romve的列名不要显示出来,哪些在窗口table属性中不在“显示列”中包括的列名也不要列出来,代码应该如何处理,谢谢!

[此贴子已经被作者于2015/7/27 15:31:34编辑过]

--  作者:大红袍
--  发布时间:2015/7/27 15:33:00
--  
For Each c As Col In Tables("表A").Cols
    If c.Visible = True Then
        msgbox(c.name)
    End If
Next

--  作者:huangfanzi
--  发布时间:2015/7/27 15:43:00
--  
Dim str1,str2 As String
For Each c As Col In Tables("销售合同打印弹窗_Table1").Cols
    If c.Visible = True Then
        str1 = str1 & "|" & c.Name
        str2 = str2 & "," & c.Name
    End If
Next
e.Sender.ComboList = str1
e.sender.Value = str2

假定我在“CheckedComboBox_列名”中选择了A列,B列,C列,我点了确定后希望只有这三列能显示,其它列隐藏掉,代码如何写,谢谢!
--  作者:大红袍
--  发布时间:2015/7/27 15:50:00
--  
For Each c As Col In Tables("表A").Cols
   c.Visible = False
Next
For Each c As String In "第三列,第四列".Split(",")
    Tables("表A").Cols(c).Visible = True
Next

--  作者:大红袍
--  发布时间:2015/7/27 15:52:00
--  

或者

 

Dim str As String = "第三列,第四列,第五列"
For Each c As Col In Tables("表A").Cols
    If ("," & str & ",").contains("," & c.Name & ",") Then
        c.Visible = True
    Else
        c.Visible = False
    End If
Next