| 网站首页 | 业界新闻 | 群组 | 人才 | 技术文章 | 下载频道 | 博客 | 代码贴 | 编程论坛
绝地游戏外挂辅助教学千里之行 始于足下
共有 652 人关注过本帖
标题:在控件“组合框”的下拉列表中所选择的内容
只看楼主 收藏
wedsic
Rank: 1
等 级:新手上路
帖 子:162
专家分:0
注 册:2017-7-17
结帖率:66.67%
  已结贴   问题点数:10  回复次数:11   
在控件“组合框”的下拉列表中所选择的内容
用哪个属于表示:在控件“组合框”的下拉列表中所选择的内容(第二列所选中的内容)
不是组合框显示的内容,也不是自己在组合框中输入的内容,是在下拉列表中选择的内容


[此贴子已经被作者于2017-8-13 00:35编辑过]

2017-08-13 00:20
hu9jj
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:红土地
等 级:贵宾
威 望:323
帖 子:11080
专家分:41900
注 册:2006-5-13
  得分:0 
以下是引用wedsic在2017-8-13 00:20:20的发言:

用哪个属于表示:在控件“组合框”的下拉列表中所选择的内容(第二列所选中的内容)
不是组合框显示的内容,也不是自己在组合框中输入的内容,是在下拉列表中选择的内容

首先要弄清楚组合框与下拉列表框的区别:两者在外观上是完全一致的,都可以动态改变列表框的数据源,区别是下拉列表框只能从列表中选择所需要的数据,组合框则除了可能从列表中选择数据外,还可以在文本框中录入新的数据。

活到老,学到老! http://www.qs98.com E-mail:hu-jj@21cn.com
2017-08-13 06:56
吹水佬
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:117
帖 子:4834
专家分:19862
注 册:2014-5-20
  得分:0 
看看组合框的 BoundColumn、BoundTo、Value 属性
如果数据源是绑定数据表,还可以直接获取表的记录数据。
2017-08-13 07:28
wedsic
Rank: 1
等 级:新手上路
帖 子:162
专家分:0
注 册:2017-7-17
  得分:0 
回复 3楼 吹水佬
ComboBox控件中是否有被选定的项目应该用哪个属性
Selected 是指定组合框中第几个条目被选中,和我上面的意思还不一样。
想要组合框中被选定的值,而不是显示的值,因为组合框还要显示另一个表的值这不是我要的,我只想要我选中的那个值,怎么表示。用哪个属性更能准确表示这个意思

[此贴子已经被作者于2017-8-13 14:01编辑过]

2017-08-13 13:59
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:149
帖 子:6861
专家分:15651
注 册:2012-2-5
  得分:0 
看下组合框的LISTINDEX及LIST属性

QQ:243688667
2017-08-13 14:11
wedsic
Rank: 1
等 级:新手上路
帖 子:162
专家分:0
注 册:2017-7-17
  得分:0 
回复 5楼 sdta
selected和selectedid一样吗,我怎么看帮助文件里写的他们是一样的
2017-08-13 14:30
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:149
帖 子:6861
专家分:15651
注 册:2012-2-5
  得分:0 
操作看看,比较一下结果

QQ:243688667
2017-08-13 14:47
吹水佬
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:117
帖 子:4834
专家分:19862
注 册:2014-5-20
  得分:0 
回复 4楼 wedsic
最好给个示例代码看看
如果不是在组合框的事件中获取组合框列表数据,建议不要使用组合框。
2017-08-13 17:15
mywisdom88
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:65
帖 子:2123
专家分:5175
注 册:2015-3-25
  得分:5 
thisform.combo1.ColumnCount = 2
thisform.combo1.RowSourceType = 2
thisform.combo1.BoundColumn = 2 &&确定列表框或组合框中的哪个列绑定到控件的 Value 属性上。
thisform.combo1.RowSource = "你的表名称"
thisform.combo1.ColumnWidths ="110,110"
**
thisform.combo1.DisplayValue &&这个值,永远都是列表第1个字段的值
thisform.combo1.Value &&这个值,会根据 thisform.combo1.BoundColumn 的值,来改变,上面的是 =2,所以他是列表的第2个字段的值

如果你不想显示2个字段,那你就这样

thisform.combo1.ColumnCount = 1
thisform.combo1.RowSourceType = 2
thisform.combo1.BoundColumn = 2 &&确定列表框或组合框中的哪个列绑定到控件的 Value 属性上。
thisform.combo1.RowSource = "你的表名称"
thisform.combo1.ColumnWidths ="110"
同样,你观察下面2个值
thisform.combo1.DisplayValue
thisform.combo1.Value



[此贴子已经被作者于2017-8-13 21:58编辑过]

2017-08-13 21:50
吹水佬
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:117
帖 子:4834
专家分:19862
注 册:2014-5-20
  得分:5 
这样不知可否:自己保存选定列表的记录号。
如:
** test.prg
of = CREATEOBJECT("myForm")
of.show(1)

DEFINE CLASS myForm as Form
    ADD OBJECT combo1 as combobox WITH top=10,left=10,columncount=2
    ADD OBJECT cmd1 as commandbutton WITH top=10,left=150

    nSelIndex = 0

    PROCEDURE combo1.init
        FOR i = 1 TO 10
            this.AddItem("1_"+TRANSFORM(i))
            this.List[this.NewIndex, 2] = "2_"+TRANSFORM(i)
        ENDFOR
    ENDPROC
   
    PROCEDURE combo1.click
        thisform.nSelIndex = this.ListIndex
    ENDPROC
   
    PROCEDURE cmd1.click
        MESSAGEBOX(thisform.combo1.list(thisform.nSelIndex, 2))
    ENDPROC
ENDDEFINE
2017-08-13 22:38







关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.248178 second(s), 8 queries.
Copyright©2004-2017, BCCN.NET, All Rights Reserved