以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  自动隐藏的扩展列随单元格自动显示  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=100098)

--  作者:zoyong
--  发布时间:2017/5/4 17:56:00
--  自动隐藏的扩展列随单元格自动显示
求大神帮忙

扩展列为多文件,并自动隐藏,如下图

图片点击可在新窗口打开查看此主题相关图片如下:搜狗截图17年05月04日1749_2.png
图片点击可在新窗口打开查看

原格式

图片点击可在新窗口打开查看此主题相关图片如下:搜狗截图17年05月04日1747_1.png
图片点击可在新窗口打开查看

现在想
点击单元格,自动显示隐藏的扩展列,并自动切换到对应的列

图片点击可在新窗口打开查看此主题相关图片如下:搜狗截图17年05月04日1754_3.png
图片点击可在新窗口打开查看







--  作者:有点色
--  发布时间:2017/5/4 18:48:00
--  
列属性那里,有【自动隐藏】属性,你设置为true
--  作者:zoyong
--  发布时间:2017/5/5 13:11:00
--  
自动隐藏已经设置了

我的意思是   点击列,对应的隐藏框自动弹出来

--  作者:有点色
--  发布时间:2017/5/5 14:15:00
--  

比如,弹出第十列的列窗口

 

For Each a As OBJECT In Tables("表A").grid.Parent.controls
    For Each b As OBJECT In a.controls
        If B.text = "第十列" Then
            b.AutoHiding = False
        End If
    Next
Next


--  作者:zoyong
--  发布时间:2017/5/5 17:42:00
--  
代码放哪里啊  
我放到窗口的afterload  和  表click   事件中,都无效

--  作者:有点蓝
--  发布时间:2017/5/5 18:00:00
--  
Dim Isfind As Boolean
For Each a As OBJECT In Tables("表A").grid.Parent.controls
    For Each b As OBJECT In a.controls
        If B.text = "第九列" Then
            b.AutoHiding = False
            Isfind = True
            Exit For
        End If
    Next
    If Isfind = False
        For Each b As OBJECT In a.controls
            b.AutoHiding = False
            For Each c As OBJECT In b.controls
                If c.text = "第九列" Then
                    c.parent.SelectedTab = c
                    Return ""
                End If
            Next
            b.AutoHiding = True
        Next
    End If
Next

--  作者:zoyong
--  发布时间:2017/5/6 9:26:00
--  
有点蓝老师,还是出错
 
.NET Framework 版本:2.0.50727.5485
Foxtable 版本:2017.4.22.1
错误所在事件:项目资料,Click
详细错误信息:
未找到类型“C1Button”的公共成员“AutoHiding”。


--  作者:有点蓝
--  发布时间:2017/5/6 9:38:00
--  
做个例子上来测试
--  作者:zoyong
--  发布时间:2017/5/9 14:04:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:动态扩展列.zip


有点蓝帮忙看看

--  作者:有点色
--  发布时间:2017/5/9 14:50:00
--  

 Click事件,写代码

 

For Each a As OBJECT In e.Table.grid.Parent.controls
    For Each b As OBJECT In a.controls
        If e.Table.Cols.Contains(b.text) Then
            If B.text = e.Col.name Then
                b.AutoHiding = False
            Else
                b.AutoHiding = True
            End If
        End If
    Next
Next