Foxtable(狐表)用户栏目专家坐堂 → 如何判断某个值是否属于一个列表中项


  共有3006人关注过本帖树形打印复制链接

主题:如何判断某个值是否属于一个列表中项

帅哥哟,离线,有人找我吗?
zhangchi96
  1楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:553 积分:5016 威望:0 精华:0 注册:2012/2/11 13:27:00
如何判断某个值是否属于一个列表中项  发帖心情 Post By: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("职称")中的项

 

请高手赐教!


 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By: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
  3楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:553 积分:5016 威望:0 精华:0 注册:2012/2/11 13:27:00
  发帖心情 Post By: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
  4楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:553 积分:5016 威望:0 精华:0 注册:2012/2/11 13:27:00
  发帖心情 Post By: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
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:5015 积分:25363 威望:0 精华:0 注册:2015/8/18 9:21:00
  发帖心情 Post By:2016/1/30 8:49:00 [只看该作者]

4楼代码可以

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By: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
  7楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:553 积分:5016 威望:0 精华:0 注册:2012/2/11 13:27:00
  发帖心情 Post By: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")的字体颜色和背景色,以起到提示作用,请问???部分该怎么写?


 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By: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
  9楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:553 积分:5016 威望:0 精华:0 注册:2012/2/11 13:27:00
  发帖心情 Post By:2016/1/31 20:36:00 [只看该作者]

谢谢大红袍老师!


 回到顶部