以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  关于复选框的选择问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=21374)

--  作者:yankunhao
--  发布时间:2012/7/10 15:45:00
--  关于复选框的选择问题

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:关于复选框的应用.foxdb

请问在这个窗口中,如何能做到根据选择的条件生成一个字符串条件呢?

 

比如,如果选择全部,那么 条件="(\'未审核\',\'已审核\',\'失效\',\'结案\')"
       如果选择其他的状态,那么条件也会相应的变化,比如只选择"未审核","已审核",那么条件="(\'未审核\',\'已审核\')"

应该如何做才会更好一点呢?请指教.


图片点击可在新窗口打开查看此主题相关图片如下:dd.jpg
图片点击可在新窗口打开查看
[此贴子已经被作者于2012-7-10 15:45:29编辑过]

--  作者:yankunhao
--  发布时间:2012/7/10 15:56:00
--  

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:复选框选择.table

 

这是商标版的


--  作者:yankunhao
--  发布时间:2012/7/10 16:03:00
--  

我看了,不是我想的,我的想法是根据选择能生成相应的字符串条件,选择全部时生成条件容易,问题是选择其他几个的时候比较难.

例如,我选择了全部,那么其他几个自然会选中,但如果我这个时候再去除其他某一个或二个的时候,那么全部就会不选中,那么如何生成此时的字符串呢?

[此贴子已经被作者于2012-7-10 16:07:22编辑过]

--  作者:yankunhao
--  发布时间:2012/7/10 16:10:00
--  
以下是引用muhua在2012-7-10 16:07:00的发言:
这个可以用字符串来解决你的问题   split   list 方法。

 

能否详细解说一下呢?


--  作者:yankunhao
--  发布时间:2012/7/10 16:31:00
--  
有谁能解答一下?
--  作者:yankunhao
--  发布时间:2012/7/10 16:42:00
--  
以下是引用muhua在2012-7-10 16:36:00的发言:

额,之前没理解你的意思,

 

既然你要其中的任何一个 取消剔勾,那“全部”就取消剔勾,其实你就在 Click 中设置当取消剔勾的时候 “全部”的Checked = false 不就可以了嘛。 不过还要判断如果是选择剔勾的时候,要把其他几个的状态也一起判断了

这个我知道,我要的是如果不是全部被选中,比如当用户只选择"已录入,已审核、已失效、已结案"中的任何一个或几个,在确定按钮中如何根据用户的选择生成一个字符串的条件呢?
--  作者:yankunhao
--  发布时间:2012/7/10 16:49:00
--  

窗口中的CheckedChanged事件

代码如下:

Dim nm As String = e.Sender.Name

Select Case nm
    Case "CheckBox1"
        If e.Sender.Checked= True Then
            e.Form.Controls("CheckBox2").Checked = True
            e.Form.Controls("CheckBox3").Checked = True
            e.Form.Controls("CheckBox4").Checked = True
            e.Form.Controls("CheckBox5").Checked = True
            Vars("ddzt") = "(\'未审核\',\'已审核\',\'失效\',\'结案\')"
        Else
            Return
        End If
End Select

 

我现在想,如何根据除了"全部"外其他几个选择框生成条件传给变量呢?


--  作者:yankunhao
--  发布时间:2012/7/10 16:58:00
--  

 请问如何才能做到遍历(未审核,已审核,失效,结案)这几个复选框,并将他们选中状态的生成一个字符串,例如,如果选择了(未审核,已审核)两个,那么字符串变量= "(\'未审核\',\'已审核\')"


--  作者:blackzhu
--  发布时间:2012/7/10 17:09:00
--  

If  e.Sender.Checked = True  Then

    For Each c As WinForm.Control In e.Form.Controls

        If Typeof c Is WinForm.CheckBox Then \'判断控件是否是文本框

            Dim t As WinForm.CheckBox = c \'使用特定类型的变量引用控件

            MessageBox.show(t.Name)

        End If

    Next

End If