Foxtable(狐表)用户栏目专家坐堂 → 求助:窗口中,判断:复选框,后生成:组合框的下拉列表。


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

主题:求助:窗口中,判断:复选框,后生成:组合框的下拉列表。

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


加好友 发短信
等级:四尾狐 帖子:842 积分:5971 威望:0 精华:0 注册:2013/6/29 9:36:00
求助:窗口中,判断:复选框,后生成:组合框的下拉列表。  发帖心情 Post By:2015/8/24 16:25:00 [显示全部帖子]



求助:窗口中,判断:复选框,后生成:组合框的下拉列表。

Dim skzt As WinForm.ComboBox = e.Form.Controls("收款状态")
Dim yjdk As WinForm.CheckBox = e.Form.Controls("有进度款")
Dim yyzbj As WinForm.CheckBox = e.Form.Controls("有压质保金")
Dim yyfk As WinForm.CheckBox = e.Form.Controls("有预付款")
If yjdk.Checked = True Then
    skzt.ComboList = DataTables("字典").GetComboListString("取值列2","名称 = '合同收款状态'","编号")
End If

上面代码写在:窗口生成事件中,
如果把IF判断删除了,能正常的,生成下拉。
如果保留IF判断,下拉不生成。
是checked用得不对吗?

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


加好友 发短信
等级:四尾狐 帖子:842 积分:5971 威望:0 精华:0 注册:2013/6/29 9:36:00
  发帖心情 Post By:2015/8/24 16:35:00 [显示全部帖子]

哦明白了。哪,我可不可以写到:Dim skzt As WinForm.ComboBox = e.Form.Controls("收款状态")
的click控件中?来判断,复选框,是不是选中?


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


加好友 发短信
等级:四尾狐 帖子:842 积分:5971 威望:0 精华:0 注册:2013/6/29 9:36:00
  发帖心情 Post By:2015/8/24 17:31:00 [显示全部帖子]

我要通过判断,上面三个:选中,状态,来显示:收款状态的,下拉。思路应该怎么样?在哪里写代码?我又晕了。
图片点击可在新窗口打开查看此主题相关图片如下:111.jpg
图片点击可在新窗口打开查看

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


加好友 发短信
等级:四尾狐 帖子:842 积分:5971 威望:0 精华:0 注册:2013/6/29 9:36:00
  发帖心情 Post By:2015/8/24 18:02:00 [显示全部帖子]

我在ENTER输入了,下面的代码,可以用了。但是我感觉是不是写得挺笨的,是不是都应该这样写呢?有没有更好的写法?
Dim yyfk As WinForm.CheckBox = e.Form.Controls("有预付款")
Dim yjdk As WinForm.CheckBox = e.Form.Controls("有进度款")
Dim yyzbj As WinForm.CheckBox = e.Form.Controls("有压质保金")
Dim skzt As WinForm.ComboBox = e.Form.Controls("收款状态")
If yyfk.Checked And yjdk.Checked And yyzbj.Checked Then
    skzt.ComboList = DataTables("字典").GetComboListString("取值列2","名称 = '合同收款状态'","编号")
ElseIf yyfk.Checked = False And yjdk.Checked = False And yyzbj.Checked = False Then
    skzt.ComboList = DataTables("字典").GetComboListString("取值列2","名称 = '合同收款状态' and 取值列 <> '有预付款' and 取值列 <> '有进度款' and 取值列 <> '有压质保金'","编号")
ElseIf yyfk.Checked = False And yjdk.Checked  And yyzbj.Checked  Then
    skzt.ComboList = DataTables("字典").GetComboListString("取值列2","名称 = '合同收款状态' and 取值列 <> '有预付款' ","编号")
ElseIf yyfk.Checked  And yjdk.Checked = False And yyzbj.Checked = False Then
    skzt.ComboList = DataTables("字典").GetComboListString("取值列2","名称 = '合同收款状态'  and 取值列 <> '有进度款' and 取值列 <> '有压质保金'","编号")
ElseIf yyfk.Checked  And yjdk.Checked  And yyzbj.Checked = False Then
    skzt.ComboList = DataTables("字典").GetComboListString("取值列2","名称 = '合同收款状态' and  取值列 <> '有压质保金'","编号")
ElseIf yyfk.Checked = False And yjdk.Checked  And yyzbj.Checked = False Then
    skzt.ComboList = DataTables("字典").GetComboListString("取值列2","名称 = '合同收款状态' and 取值列 <> '有预付款' and  取值列 <> '有压质保金'","编号")
ElseIf yyfk.Checked = False And yjdk.Checked = False And yyzbj.Checked  Then
    skzt.ComboList = DataTables("字典").GetComboListString("取值列2","名称 = '合同收款状态' and 取值列 <> '有预付款' and 取值列 <> '有进度款'","编号")
End If

 回到顶部