以下是引用cssnet在2022-11-6 13:16:24的发言:
DisplayValue 属性
===============
指定 ListBox 或 ComboBox 控件中选定项的第一列的内容。设计和运行时可用。
当某个组合框或列表框多于一列,且控件的 BoundColumn 属性设置为大于 1 的值时,使用 DisplayValue 属性。
[Form.]Control.DisplayValue[ = Expr]
属性值
Expr
指定字符串或数值。下表列出了 Expr 的值。 Expr 说明
字符串
指定选定项的第一列的值。
对于组合框,当 DisplayValue 属性是字符串时,DisplayValue 属性指定了组合框的文本框部分中显示的文本。但是,ComboBox 对象的 InputMask 和 MaxLength 属性会影响它的显示。
数值
指定选定项的索引。
说明
应用于:ComboBox 控件 | ListBox 控件
当组合框或列表框中仅有一列时,如果控件的 DisplayValue 属性和 Value 属性都包含字符串,则二者的值通常都相同。但是有一种例外情况:两个属性的内容都是字符串,然后在组合框中输入一个值,但该值不存在于列表中。在此情况下,Value 属性是空字符串(""),而 DisplayValue 属性是所输入的值。
===============
VFP帮助文件详细介绍了DisplayValue属性值的使用方法。
唉,是时候由我老人家给楼主谈谈人生啦——特别是一眼看到楼主“怀疑人生”,不由勾起了我老人家悲天悯人的慈祥而温柔的心绪。
这故事告诉我们:
切莫轻易怀疑人生。人生当中,无论搞任何事情,一定要细心、细心再细心!
DisplayValue = 字符串,此时指定选定项的第一列的值。
DisplayValue = 数值,此时指定选定项的索引。
——楼上的,安德丝店?
若要指定数值型DisplayValue,应该是1、2、3、4……而非2022111!
——楼上的,安德丝店?
但是有一种例外情况:两个属性的内容都是字符串,然后在组合框中输入一个值,但该值不存在于列表中。在此情况下,Value 属性是空字符串(""),而 DisplayValue 属性是所输入的值。
这句话说明“不存在”时,DisplayValue 属性才是数值。但问题是我输入后,这个项不但存在,而且我要的是indexlist的值,所以你能解释一下吗? 并且我两段代码写的很清楚了,都是字符型的,但得到了不同的结果,你认为是什么原因呢?