以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  根据条件显示列  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=180674)

--  作者:lianghanyu
--  发布时间:2022/10/14 15:59:00
--  根据条件显示列
如图片,想要实现根据“显示列”里的 字符,实现选中不同的行,显示出不同的列功能 。

“显示列”是字符类型,先用分割符”,“分出来 ,再循环,  但是实现不了我想要的功能。

在表属性里的 Currentchanged   里加入代码,但是没有用?请指教!


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


Dim s As String = CurrentTable.Current("显示列")
Dim Multi As String = s
Dim Values() As String
Values = Multi.split(",")
For Index As Integer = 0 To Values.Length - 1
CurrentTable.Cols(Values(Index)).Visible = true

      
Next


--  作者:有点蓝
--  发布时间:2022/10/14 16:14:00
--  
CurrentTable.SetColVisibleWidth("显示列|-1")
If CurrentTable.Current.IsNull("显示列") = False Then
    Dim s As String = CurrentTable.Current("显示列")
    Dim Multi As String = s
    Dim Values() As String
    Values = Multi.split(",")
    For Index As Integer = 0 To Values.Length - 1
        CurrentTable.Cols(CInt(Values(Index))).Visible = True
    Next
End If

--  作者:lianghanyu
--  发布时间:2022/10/14 16:42:00
--  
谢谢!

 可以实现了。


不过第几列对应不上。


比如,我要 显示 2  4  6 列。  结果出来 是 3  5  7 列 图片点击可在新窗口打开查看

--  作者:有点蓝
--  发布时间:2022/10/14 16:53:00
--  
列索引是从0开始的,CurrentTable.Cols(0)是第一列,CurrentTable.Cols(1)是第二列
--  作者:lianghanyu
--  发布时间:2022/10/14 17:07:00
--  
明白 了