以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]combobox控件中显示列于取值列的问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=16572) |
-- 作者:pb_1 -- 发布时间:2012/2/17 16:24:00 -- [求助]combobox控件中显示列于取值列的问题 COMBOBOX 控件,连接内部数据表,数据表里有2列,一列为性别名称值为:“男”,“女”,一列为性别代码值为“01”,“02”,在控件中将显示列设置为性别名称,将取值列设置为性别代码 .Current("XBMC")=E.ForM.Controls("ComboBox2").Value 用以上语句来保存的时候,保存的却是“男”不是01
|
-- 作者:狐狸爸爸 -- 发布时间:2012/2/17 16:27:00 -- 取值列和显示列,针对的是下拉列表,对于输入框中的值是无效的。
改一下:
if e.ForM.Controls("ComboBox2").Value = “01” then .Current("XBMC") = "男" Else .Current("XBMC") = "女" End if |
-- 作者:pb_1 -- 发布时间:2012/2/17 16:32:00 -- 求助狐狸爸爸,对于性别这样比较少的选项可以这样,可对于有很多选项的用IF语句来判断则太不显示了,比如民族和民族代码就有几十个,有什么高效的方法吗? |
-- 作者:狐狸爸爸 -- 发布时间:2012/2/17 16:38:00 -- 如果很多,应该有一个编码表,很简单:
Dim m As string = e.ForM.Controls("ComboBox2").Value \'获得编码 Dim r As DataRow = DataTables("编码表").Find("编码 =\'" & m & "\'") if r isnot nothing then .Current("XBMC") = dr("名称") end if |
-- 作者:pb_1 -- 发布时间:2012/2/17 17:03:00 -- 谢谢狐狸爸爸,我举一反三解决了一大批问题 |