要想我们帮助你不“怀疑人生”,要把遇到的问题解释清楚,最好是把测试环境“打包”附上,而不是只给出问题,让大家对问题的运行环境去猜谜语。
我简单试了一下,在我构建的测试环境下,没有任何问题。不可能“‘2022111’”能正确执行,而“”就执行错误了。
问题很有可能出在其他地方,如:、变量 aaa和bbb的作用域、……
以下是我的一些应用心得,希望对你有所帮助。
对于组合框控件来说,该控件的如下几个属性十分重要:
1. Style 属性
该属性决定了控件的行为方式是“下拉组合框”还是“下拉列表框”,前者允许键盘输入,而后者仅能从列表框选择。
2. Value 的初始值
当Value的初始值为字符型时,在后续代码中引用Value时返回的是控件的“List[index]”;而当Value的初始值为数值型时,问题就复杂了,参见下文“BoundTo”属性。
3. BoundTo属性
当BoundTo=.f.时,若Value的初始值为数值型,则后续的Value返回的是控件的ListIndex,若Value的初始值为字符型,则后续Value返回的是List[index]值。
当BoundTo=.t.时,则后续的Value返回的是控件的List[index]。一般来说,当列表项目是数值时,一般应设定BoundTo=.t.。
4. Value 与 DisplayValue
区别主要有三点:
第一:DisplayValue 永远是字符型,而 Value 的数据类型由其初始值决定。
第二:DisplayValue只能是“读”,而Value可“读”也可“写”,也就是说,当组合框指定了ControlSource时,通过修改Value可以影响其绑定的控件来源。
第三:DisplayValue主要应用于Style = 0(下拉组合框)的情况。它可用于将组合框显示为列表中不存在的项目。比如:我们可以在组合框中手工输入一个新项目,在控件的LostFocus中将其添加到列表。
在指定当前列表项目时,最好使用 ListIndex 或 Value。在指定初始列表项目时,最好在控件的 Init 事件中,而不是设计方式下通过直接指定Value或DisplayValue。
我简单试了一下,在我构建的测试环境下,没有任何问题。不可能“‘2022111’”能正确执行,而“”就执行错误了。
问题很有可能出在其他地方,如:、变量 aaa和bbb的作用域、……
以下是我的一些应用心得,希望对你有所帮助。
对于组合框控件来说,该控件的如下几个属性十分重要:
1. Style 属性
该属性决定了控件的行为方式是“下拉组合框”还是“下拉列表框”,前者允许键盘输入,而后者仅能从列表框选择。
2. Value 的初始值
当Value的初始值为字符型时,在后续代码中引用Value时返回的是控件的“List[index]”;而当Value的初始值为数值型时,问题就复杂了,参见下文“BoundTo”属性。
3. BoundTo属性
当BoundTo=.f.时,若Value的初始值为数值型,则后续的Value返回的是控件的ListIndex,若Value的初始值为字符型,则后续Value返回的是List[index]值。
当BoundTo=.t.时,则后续的Value返回的是控件的List[index]。一般来说,当列表项目是数值时,一般应设定BoundTo=.t.。
4. Value 与 DisplayValue
区别主要有三点:
第一:DisplayValue 永远是字符型,而 Value 的数据类型由其初始值决定。
第二:DisplayValue只能是“读”,而Value可“读”也可“写”,也就是说,当组合框指定了ControlSource时,通过修改Value可以影响其绑定的控件来源。
第三:DisplayValue主要应用于Style = 0(下拉组合框)的情况。它可用于将组合框显示为列表中不存在的项目。比如:我们可以在组合框中手工输入一个新项目,在控件的LostFocus中将其添加到列表。
在指定当前列表项目时,最好使用 ListIndex 或 Value。在指定初始列表项目时,最好在控件的 Init 事件中,而不是设计方式下通过直接指定Value或DisplayValue。
[此贴子已经被作者于2022-11-7 11:20编辑过]
泉城飞狐