以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  关于comboBox的一些疑问  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=116732)

--  作者:夜散点炽
--  发布时间:2018/3/30 9:07:00
--  关于comboBox的一些疑问
comboBox 这个组合框,我想让它显示的值和下拉选择时是中文,取值时是ID,
但是好像这个控件只在下拉时是中文,显示的值却是ID,怎么解决这问题
[此贴子已经被作者于2018/3/30 9:10:20编辑过]

--  作者:夜散点炽
--  发布时间:2018/3/30 9:12:00
--  
还有这个控件我设置的取值是ID,但我也想取对应的中文名怎么取
--  作者:有点甜
--  发布时间:2018/3/30 9:32:00
--  
以下是引用夜散点炽在2018/3/30 9:07:00的发言:
comboBox 这个组合框,我想让它显示的值和下拉选择时是中文,取值时是ID,
但是好像这个控件只在下拉时是中文,显示的值却是ID,怎么解决这问题
[此贴子已经被作者于2018/3/30 9:10:20编辑过]

 

显示值,可以在dataformat事件处理,如

 

http://www.foxtable.com/webhelp/scr/1606.htm

 


--  作者:有点甜
--  发布时间:2018/3/30 9:33:00
--  
以下是引用夜散点炽在2018/3/30 9:12:00的发言:
还有这个控件我设置的取值是ID,但我也想取对应的中文名怎么取

 

根据id值,去查找对应的中文名。如

 

http://www.foxtable.com/webhelp/scr/0396.htm

 


--  作者:夜散点炽
--  发布时间:2018/3/30 10:33:00
--  
dataformat 里我写处理了,但是我下拉选择后,又变回去了,还是显示ID呀


如下代码写在dataformat 中了
Dim dr As DataRow
dr = DataTables("用户表").Find("ID =\'" & e.Value & "\'") 
e.Text = dr("userName")
[此贴子已经被作者于2018/3/30 10:36:02编辑过]

--  作者:有点甜
--  发布时间:2018/3/30 10:38:00
--  
以下是引用夜散点炽在2018/3/30 10:33:00的发言:
dataformat 里我写处理了,但是我下拉选择后,又变回去了,还是显示ID呀

 

焦点离开控件的时候,才会执行dataformat函数的。


--  作者:有点甜
--  发布时间:2018/3/30 10:40:00
--  
要不,你就直接使用【显示列】作为下拉控件的值,如果想得到实际的值,你根据显示列的值查找得到。
--  作者:夜散点炽
--  发布时间:2018/3/30 15:15:00
--  
这个不行,我显示的是中文名字,用中文名字去查ID是不行的,中文名有可能重名,ID才是唯一的,

还有一个办法,能不能我在用户选完后,用代码把焦点移除行不行?

--  作者:有点甜
--  发布时间:2018/3/30 15:21:00
--  

textchanged、validating事件,写代码

 

e.form.controls("button1").Select