Foxtable(狐表)用户栏目专家坐堂 → 关于窗口中ComboBox下拉选项的问题


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

主题:关于窗口中ComboBox下拉选项的问题

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


加好友 发短信
等级:四尾狐 帖子:924 积分:6639 威望:0 精华:0 注册:2013/8/10 18:33:00
关于窗口中ComboBox下拉选项的问题  发帖心情 Post By:2016/6/27 16:34:00 [只看该作者]

一个窗口中的ComboBox2控件绑定了部门表的部门名称列,下拉选择的时候希望选择了对应的部门名称后,
在窗口中textbox4部件中自动填上对应部门的电话(tel)
代码如下,实现了其中的需求
Dim cm As WinForm.ComboBox = e.Form.Controls("ComboBox2")
Dim dr As DataRow = cm.SelectedItem
If dr IsNot Nothing Then
    e.Form.Controls("textbox4").Value = dr("tel")
End If
产生问题如下,请帮助:
问题:如果ComboBox2处先选择了一个部门,后发现本次输入的数据不需要填部门,于是把部门内容消除掉,则对应的textbox4处还显示上次的电话,不跟着清空。请问此处怎么处理?


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/6/27 16:35:00 [只看该作者]

Dim cm As WinForm.ComboBox = e.Form.Controls("ComboBox2")
Dim dr As DataRow = cm.SelectedItem
If dr IsNot Nothing Then
    e.Form.Controls("textbox4").Value = dr("dptid")
Else
    e.Form.Controls("textbox4").Value = Nothing
End If

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


加好友 发短信
等级:四尾狐 帖子:924 积分:6639 威望:0 精华:0 注册:2013/8/10 18:33:00
  发帖心情 Post By:2016/6/27 16:48:00 [只看该作者]

谢谢啊,不行啊这样。

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/6/27 18:14:00 [只看该作者]

Dim cm As WinForm.ComboBox = e.Sender
Dim dr As DataRow = DataTables("表A").find("第一列 = '" & cm.Text & "'")
If dr IsNot Nothing Then
    e.Form.Controls("textbox4").Value = dr("dptid")
Else
    e.Form.Controls("textbox4").Value = Nothing
End If

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


加好友 发短信
等级:四尾狐 帖子:924 积分:6639 威望:0 精华:0 注册:2013/8/10 18:33:00
  发帖心情 Post By:2016/6/27 20:41:00 [只看该作者]

谢谢,不知什么原因,还是只能在ComboBox2有选择的时候可以,清除ComboBox2里内容的时候textbox4就不跟着变动了。

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/6/27 20:43:00 [只看该作者]

 写到TextChanged事件啊

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


加好友 发短信
等级:四尾狐 帖子:924 积分:6639 威望:0 精华:0 注册:2013/8/10 18:33:00
  发帖心情 Post By:2016/6/27 21:08:00 [只看该作者]

谢谢帮助啊,
我一直放到SelectedIndexChanged事件中去了。

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


加好友 发短信
等级:四尾狐 帖子:924 积分:6639 威望:0 精华:0 注册:2013/8/10 18:33:00
再请教一下此处修改的问题  发帖心情 Post By:2016/7/1 22:17:00 [只看该作者]

Dim cm As WinForm.ComboBox = e.Sender
Dim dr As DataRow = DataTables("表A").find("第一列 = '" & cm.Text & "'")
If dr IsNot Nothing Then
    e.Form.Controls("textbox4").Value = dr("dptid")
Else
    e.Form.Controls("textbox4").Value = Nothing
End If

在新增的时候使用正常,可以是修改的状态下不管用,将语句放到SelectedIndexChanged中,
在改变选择的时候管用,但当修改时,是将原来所选的值除掉,此时则不管用了。
请教一下原因/。

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


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

2个地方都加上代码,不同的事件触发的方式不一样

 回到顶部