Foxtable(狐表)用户栏目专家坐堂 → [求助]combobox控件中显示列于取值列的问题


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

主题:[求助]combobox控件中显示列于取值列的问题

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


加好友 发短信
等级:婴狐 帖子:74 积分:683 威望:0 精华:0 注册:2011/10/24 19:38:00
[求助]combobox控件中显示列于取值列的问题  发帖心情 Post By:2012/2/17 16:24:00 [只看该作者]

COMBOBOX 控件,连接内部数据表,数据表里有2列,一列为性别名称值为:“男”,“女”,一列为性别代码值为“01”,“02”,在控件中将显示列设置为性别名称,将取值列设置为性别代码

.Current("XBMC")=E.ForM.Controls("ComboBox2").Value

用以上语句来保存的时候,保存的却是“男”不是01

 


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


加好友 发短信
等级:管理员 帖子:47448 积分:251060 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2012/2/17 16:27:00 [只看该作者]

取值列和显示列,针对的是下拉列表,对于输入框中的值是无效的。

 

改一下:

 

if  e.ForM.Controls("ComboBox2").Value = “01” then

   .Current("XBMC") =  "男"

Else

   .Current("XBMC") = "女"

End if


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


加好友 发短信
等级:婴狐 帖子:74 积分:683 威望:0 精华:0 注册:2011/10/24 19:38:00
  发帖心情 Post By:2012/2/17 16:32:00 [只看该作者]

求助狐狸爸爸,对于性别这样比较少的选项可以这样,可对于有很多选项的用IF语句来判断则太不显示了,比如民族和民族代码就有几十个,有什么高效的方法吗?

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


加好友 发短信
等级:管理员 帖子:47448 积分:251060 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By: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
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:74 积分:683 威望:0 精华:0 注册:2011/10/24 19:38:00
  发帖心情 Post By:2012/2/17 17:03:00 [只看该作者]

谢谢狐狸爸爸,我举一反三解决了一大批问题

 回到顶部