以下是引用mywisdom88在2016-5-23 18:07:18的发言:
1、Combo1.init
this.AddItem("你好")
this.AddItem("我好")
this.AddItem("他好")
this.Value=1
*此时,不管你选择的是什么,Value 是序号,DisplayValue是选择的,如选择“我好”,那 Value=2,DisplayValue="我好"
*如果是输入,DisplayValue="输入的",Value=0
2、Combo2.init
this.AddItem("你好")
this.AddItem("我好")
this.AddItem("他好")
this.Value="你好"
*此时,不管你选择的是什么,Value=DisplayValue="选择的"
*如果是输入,DisplayValue="输入的",Value=""
3、Combo3.init
CREATE CURSOR tmp(id int ,name c(8))
FOR i=1 TO 5
INSERT INTO tmp(id,name) values(i,'张三'+TRANSFORM(i))
ENDFOR
WITH
.COLUMNCOUNT=2
.BoundColumn =2
.COLUMNWIDTHS="80,60"
.ROWSOURCE="tmp"
.ROWSOURCETYPE=2
.DISPLAYVALUE=""
.REQUERY
ENDWITH
*Value 和BoundColumn 有关,DisplayValue 的值是选择的值
*如果是输入的,DisplayValue=“输入的",Value=""
也就是说,当combo的数据源只有一列时,displayvalue和value是没有区别的,可以这样理解吗?
当有多列时,displayvalue时选定项目第一列的值,而value则是选定项目绑定列(boundcolumn可能是1也可能不是1)的值.