以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  列设置不能多个勾选,只有1个可勾选  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=191739)

--  作者:liuyixin662
--  发布时间:2024/5/7 8:17:00
--  列设置不能多个勾选,只有1个可勾选
老师你好:上列代码能获取多个列的c.Index 的值,但勾选的只有一个,麻烦老师指点一下,谢谢!
--  作者:liuyixin662
--  发布时间:2024/5/7 8:18:00
--  
Dim clist As WinForm.CheckedListBox = e.Form.Controls("CheckedListBox1")
Dim t As Table = CurrentTable
For i As Integer = 0 To t.Cols.Count - 1
    Dim c As Col = t.Cols(i)
    Dim s1() As String
    Dim pr As DataRow = DataTables("设置表默认字段不显示").sqlfind("表名=\'" & t.name & "\'")
    If pr IsNot Nothing Then
        s1 = pr("默认不可显示列名").Split(",")
        For Each r1 As String In s1
            If c.name Like r1 Then
                clist.SetItemChecked(c.Index, c.Visible)
                              MessageBox.Show(c.Index)
            Else
                clist.SetItemChecked(c.Index, Not c.Visible)
            End If
            \'\'*********************************************        
        Next
    End If
Next

--  作者:有点蓝
--  发布时间:2024/5/7 8:34:00
--  
"CheckedListBox1"里显示的是什么内容?"设置表默认字段不显示"保存的优势什么内容?都截图看看
--  作者:liuyixin662
--  发布时间:2024/5/7 8:56:00
--  
如图所示
图片点击可在新窗口打开查看此主题相关图片如下:不能按条件勾选.jpg
图片点击可在新窗口打开查看

--  作者:liuyixin662
--  发布时间:2024/5/7 8:58:00
--  
有点蓝老师,另2个隐藏字段 分别为客户名称,数量 


--  作者:有点蓝
--  发布时间:2024/5/7 9:03:00
--  
"设置表默认字段不显示"表保存的是什么内容
--  作者:liuyixin662
--  发布时间:2024/5/7 9:03:00
--  
隐藏列的条件表
图片点击可在新窗口打开查看此主题相关图片如下:隐藏条件表.jpg
图片点击可在新窗口打开查看

--  作者:有点蓝
--  发布时间:2024/5/7 9:18:00
--  
Dim clist As WinForm.CheckedListBox = e.Form.Controls("CheckedListBox1")
Dim t As Table = CurrentTable
Dim pr As DataRow = DataTables("设置表默认字段不显示").sqlfind("表名=\'" & t.name & "\'")
If pr IsNot Nothing Then
    s1 = pr("默认不可显示列名").Split(",")
    For i As Integer = 0 To clist.Items.Count - 1
        Dim s As String = clist.Items(i).split("(")(0)
        If Array.IndexOf(s1, s) > -1 Then
            clist.SetItemChecked(i, t.Cols(r1).Visible)
            MessageBox.Show(i)
        Else
            clist.SetItemChecked(i, False)
        End If    
    Next
End If