以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  如何判断某个值是否属于一个列表中项  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=80585)

--  作者:zhangchi96
--  发布时间:2016/1/26 19:50:00
--  如何判断某个值是否属于一个列表中项

Dim sx1 As WinForm.ComboBox = e.Form.Controls("筛选1")

Dim sx2 As WinForm.ComboBox = e.Form.Controls("筛选2")

Dim sx3 As WinForm.ComboBox = e.Form.Controls("筛选3")

If sx1.text = "最高学历" Then

    sx2.ComboList = ("高于|低于|等于|不低于|不高于")

    sx3.ComboList = DataTables("教职工信息表").GetComboListString("学历")

ElseIf sx1.text = "职称评定" Then

    sx2.ComboList = ("大于|小于|等于|不大于|不小于")

    sx3.ComboList = DataTables("教职工信息表").GetComboListString("职称")

end if


在 sx2 和 sx3选择好了以后,执行一个统计的代码,在执行之前要判断一下:

1、sx2.text 的值是属于 ("高于|低于|等于|不低于|不高于") 中的一项

                    还是属于("大于|小于|等于|不大于|不小于")中的一项

2、sx3.text 的值是属于DataTables("教职工信息表").GetComboListString("学历")中的项

                     还是属于DataTables("教职工信息表").GetComboListString("职称")中的项

 

请高手赐教!


--  作者:大红袍
--  发布时间:2016/1/26 21:43:00
--  

参考代码

 

Dim str As String = "高于|低于|等于|不低于|不高于"
str = "|" & str & "|"

Dim s As String = "等于"
If str.IndexOf("|" & s & "|") Then
    msgbox("存在")
Else
    msgbox("不存在")
End If


--  作者:zhangchi96
--  发布时间:2016/1/29 23:23:00
--  

一、 我觉得:If str.IndexOf("|" & s & "|") Then  好像写法不完整
       我改为   If str.Contains("|" & sx2.text & "|") = True Then

 

二、关于 sx3.ComboList = DataTables("教职工信息表").GetComboListString("学历")

 

(1)在某一个“教职工信息表”中,学历有三种:大专、本科、研究生

(2)在一楼,在某种情况下,sx.text 的值为“副教授” (这是在另一情况下从职称中选择的)

(3)如何判断 副教授 是否包含于 大专、本科、研究生 中,

即判断 sx3.text 是否包含于DataTables("教职工信息表").GetComboListString("学历")

这里的下拉选项不像二楼那样是具体的字符"高于|低于|等于|不低于|不高于"

 

因此请教老师


--  作者:zhangchi96
--  发布时间:2016/1/29 23:56:00
--  

我写成了,请指教:

 

Dim s1 As String = DataTables("教职工信息表").GetComboListString("学历")
s1 = "|" & s1 & "|"
If s1.Contains("|" & sx3.text & "|") = True Then
    msgbox("存在")
Else
    msgbox("不存在")
End If


--  作者:Hyphen
--  发布时间:2016/1/30 8:49:00
--  
4楼代码可以
--  作者:大红袍
--  发布时间:2016/1/30 9:17:00
--  

哦,3楼的代码写漏了

 

Dim str As String = "高于|低于|等于|不低于|不高于"
str = "|" & str & "|"

Dim s As String = "等于"
If str.IndexOf("|" & s & "|") > -1 Then
    msgbox("存在")
Else
    msgbox("不存在")
End If


--  作者:zhangchi96
--  发布时间:2016/1/30 21:25:00
--  

Dim sx1 As WinForm.ComboBox = e.Form.Controls("筛选1")

Dim sx2 As WinForm.ComboBox = e.Form.Controls("筛选2")

Dim sx3 As WinForm.ComboBox = e.Form.Controls("筛选3")

If str.IndexOf("|" & s & "|") > -1 Then
    msgbox("存在")

    ????
Else
    msgbox("不存在")

    ????
End If

 

如果我在判断后,改变控e.Form.Controls("筛选1")的字体颜色和背景色,以起到提示作用,请问???部分该怎么写?


--  作者:大红袍
--  发布时间:2016/1/31 9:50:00
--  

e.Form.Controls("筛选1").ForeColor = Color.Red

e.Form.Controls("筛选1").BackColor = Color.Blue

 

http://www.foxtable.com/help/topics/0496.htm

 


--  作者:zhangchi96
--  发布时间:2016/1/31 20:36:00
--  

谢谢大红袍老师!