Foxtable(狐表)用户栏目专家坐堂 → 为啥 ComboBox 这个控件没有Key 属性的呢?做业务十分不方便


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

主题:为啥 ComboBox 这个控件没有Key 属性的呢?做业务十分不方便

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


加好友 发短信
等级:童狐 帖子:287 积分:2927 威望:0 精华:0 注册:2015/12/21 13:35:00
为啥 ComboBox 这个控件没有Key 属性的呢?做业务十分不方便  发帖心情 Post By:2018/3/28 22:32:00 [只看该作者]

为啥 ComboBox 这个控件没有Key 属性的呢?做业务十分不方便
这个是常用控件,很多时候展示的内容和传递的参数是不一样的!
如果有Key属性,就可以很方便处理了,就类似树控件,节点有Name 和Text属性,还有index属性,使用起来就很方便!
强烈建议 ComboBox 的选项有 Key 属性!

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


加好友 发短信
等级:童狐 帖子:287 积分:2927 威望:0 精华:0 注册:2015/12/21 13:35:00
  发帖心情 Post By:2018/3/28 22:37:00 [只看该作者]

Dim cmb As WinForm.ComboBox
cmb = Forms(
"窗口1").Controls("ComboBox1")
cmb.ComboList =
"Key1|计算机|Key2|打印机|Key3|传真机|Key4|电话机"


或者:

cmb.ComboList = "Key1-计算机|Key2-打印机|Key3-传真机|Key4-电话机"


能这样,编程起来就爽歪歪了!

[此贴子已经被作者于2018/3/28 22:43:44编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/3/28 22:48:00 [只看该作者]

用另一个变量存放,如

 

Dim cmb As WinForm.ComboBox
cmb = e.form.Controls("ComboBox1")
cmb.ComboList = "计算机|打印机"
cmb.basecontrol.tag = "1|2"

 

'获取

msgbox(cmb.SelectedIndex)

msgbox(cmb.basecontrol.tag.split("|")(cmb.SelectedIndex))


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


加好友 发短信
等级:童狐 帖子:287 积分:2927 威望:0 精华:0 注册:2015/12/21 13:35:00
  发帖心情 Post By:2018/3/29 8:11:00 [只看该作者]

那引用表中的数据作为下拉项目,在属性设置列表中怎么实现呢?

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/3/29 8:35:00 [只看该作者]


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


加好友 发短信
等级:童狐 帖子:287 积分:2927 威望:0 精华:0 注册:2015/12/21 13:35:00
  发帖心情 Post By:2018/3/29 9:46:00 [只看该作者]

这样获得的Combox,ValueChanged 事件无效,是怎么回事?

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


加好友 发短信
等级:童狐 帖子:287 积分:2927 威望:0 精华:0 注册:2015/12/21 13:35:00
  发帖心情 Post By:2018/3/29 9:49:00 [只看该作者]

ComboBox  的 ValueChanged 事件生成 B ComboBox 的列表 ,B ComboBox 的 ValueChanged 无效,咋回事?

Dim frees As new List(of DataRow)
xyb.baseControl.Tag = ""
frees = costTab.Select(" roomID = " & lf("ID") & "and selected= 1 and (freeType= '用量计费 ' or freeType= '限额计费 ' or freeType= '阶梯计费 ')" )
For Each free As DataRow In frees
     xyb.ComboList =  xyb.ComboList & "|" & free("freeName") & " (" & free("Price") & " " & free("Unit") & " )"
     xyb.baseControl.Tag = xyb.baseControl.Tag & "|" & free("senID")
Next
xyb.ComboList = xyb.ComboList & "|全部"
xyb.baseControl.Tag = xyb.baseControl.Tag & "|全部"
xyb.SelectedIndex = 0


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/3/29 9:53:00 [只看该作者]

回复7楼,有可能tag被foxtable使用了。你改成全局变量,如

 

xyb.baseControl.Tag = xyb.baseControl.Tag & "|" & free("senID")

 

改成

 

vars("xyb") = vars("xyb") & "|" & free("senID")

 

[此贴子已经被作者于2018/3/29 9:53:22编辑过]

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


加好友 发短信
等级:童狐 帖子:287 积分:2927 威望:0 精华:0 注册:2015/12/21 13:35:00
  发帖心情 Post By:2018/3/29 9:57:00 [只看该作者]

晕死,本来很简单的事情,搞得这么复杂!

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/3/29 9:58:00 [只看该作者]

以下是引用pizzahe在2018/3/29 9:57:00的发言:
晕死,本来很简单的事情,搞得这么复杂!

 

或者,你可以用两个combobox,一个隐藏、一个显示。


 回到顶部
总数 16 1 2 下一页