以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- if条件较多怎么解决? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=154503) |
||||
-- 作者:wh420 -- 发布时间:2020/9/16 16:42:00 -- if条件较多怎么解决? if条件比较多,如何先判断完后以变量形式记录当成参数传入到自定义函数中?请老师帮我代码举例说明。 例如:窗口中有5个checkbox,每个checkbox选中的状态都需要IF判断并执行相应代码。有选中两个的情况,有选中3个的情况,有都选中的情况。。。。需要判断的比较多。 怎么实现简单些。
|
||||
-- 作者:有点蓝 -- 发布时间:2020/9/16 16:54:00 -- 简单不了。建议从业务的角度,从设计上解决。不如详细说明一下要做什么功能 |
||||
-- 作者:z769036165 -- 发布时间:2020/9/16 17:08:00 -- 可以加个标签做中间变量,转换一下 选中则把标签加1个变量,取消选中,则替换那个变量 最后判断这个标签
|
||||
-- 作者:wh420 -- 发布时间:2020/9/16 17:14:00 --
老师帮忙看看,IF一多有点绕晕了,想实现的功能就是每种CHECKBOX的情况都要被考虑到,并像楼上那位老师说的加标签变量。
|
||||
-- 作者:有点蓝 -- 发布时间:2020/9/16 17:21:00 -- 没看懂,有多少种判断逻辑?有多少种组合判断结果?使用文字说一下 |
||||
-- 作者:wh420 -- 发布时间:2020/9/17 10:56:00 -- 1、全不选的情况 2、全选的情况 3、1和2 checbox被选中的情况 4、2和3 被选中的情况 5、1和3被选中的情况 总之3个checkbox所有情况都组合一遍,判断完后有一个变量记着这个结果。我好要在函数里用。
[此贴子已经被作者于2020/9/17 11:14:11编辑过]
|
||||
-- 作者:有点蓝 -- 发布时间:2020/9/17 11:14:00 -- 那么总共有7种组合,这些组合全部都是互斥的条件,只能逐个判断,没有其它办法 if 全不选(checkbox1.checked=false and checkbox2.checked=false and .....) elseif 全选(checkbox1.checked=true and checkbox2.checked=true and .....) elseif 只选1(checkbox1.checked=true and checkbox2.checked=false and .....) elseif ... elseif 1和2 checbox被选中(checkbox1.checked=true and checkbox2.checked=true and checkbox3.checked=false ) elseif ... 或者这样判断: dim s as string for i as integer = 1 to 3 if e.form.controls("checkbox" & i).checked then s = s & "1" else s = s & "0" end if next select case s case "000" \'全不选 case "111" \'全选 case "100" \'只选1 case "110" \'1和2 checbox被选中 …… end select
|
||||
-- 作者:wh420 -- 发布时间:2020/9/17 11:45:00 -- OK,明白了。 现在想把每次点选后的结果赋值给一个标签,这个标签怎么写最好?好让我能在自定义函数里调用。
|
||||
-- 作者:有点蓝 -- 发布时间:2020/9/17 11:57:00 -- e.form.controls("lable1").text= ”xxx值“ 或者使用全局变量
|