以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]有点甜老师CheckedComboBox问题!  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=130018)

--  作者:tygzjsl
--  发布时间:2019/1/11 7:53:00
--  [求助]有点甜老师CheckedComboBox问题!

图片点击可在新窗口打开查看此主题相关图片如下:微信截图_20190111073330.jpg
图片点击可在新窗口打开查看


老师,还得麻烦你,我建立CheckedComboBox控件,选择的是考试时间(列名kssj),我又增加了选择所有(一下全部选定)利用控件事件textchangd中加入以下代码实现了
If e.Sender.Text.Contains("选择所有") Then
    e.Sender.Value = e.Sender.ComboList.Replace("选择所有","").Replace("|",",").Trim(",")
End If

因为考试的次数想只看最近三次的,比如201901,201811,201810,能不能再增加一个最近三次的选项,点击它就只选上这三个时间,无论以前选择了哪些考试时间,只选上这三个时间,这样的功能利用这个控件能实现吗,不然把以前增加的选择所有去掉也行,只要最近三次的,用以上代码怎么改。又麻烦你谢谢!

--  作者:tygzjsl
--  发布时间:2019/1/11 8:12:00
--  
老师,不要“选择所有”这个也行,因为不选择的默认情况下,就是查询所以考试时间的。只增加一个近三次的选项,谢谢!
--  作者:有点甜
--  发布时间:2019/1/11 9:40:00
--  

参考代码

 

If e.Sender.Text.Contains("近三次") Then
    Dim ls = e.sender.items
    Dim str As String = ""
    For i As Integer = ls.count-1 To ls.count-3 Step -1
        str &= ls(i) & ","
    Next
    e.Sender.Text = str.trim(",")
End If


--  作者:tygzjsl
--  发布时间:2019/1/11 10:13:00
--  
非常感谢老师,有一个问题,控件的自定义项目是近三次|201809|201810|201811|201901,这样设置时就一起选择了后面201810|201811|201901近三次的考试时间,而如果考试时间是最近时间的在最上面的话,这样的话,近三次|201901|201811|201810|201809这样代码怎么改呢,谢谢老师及时和耐心。
--  作者:有点甜
--  发布时间:2019/1/11 10:20:00
--  

If e.Sender.Text.Contains("近三次") Then
    Dim ls = e.sender.items
    Dim str As String = ""
    For i As Integer = 1 To 3

        str &= ls(i) & ","
    Next
    e.Sender.Text = str.trim(",")
End If


--  作者:tygzjsl
--  发布时间:2019/1/11 10:52:00
--  
非常感谢老师,你太牛啦!!!