标题:被 .combo.displayvalue 搞死了,一天都排查不到问题所在
只看楼主
liuxingang28
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:山东济南
等 级:贵宾
威 望:47
帖 子:649
专家分:2156
注 册:2014-2-7
得分:0 
要想我们帮助你不“怀疑人生”,要把遇到的问题解释清楚,最好是把测试环境“打包”附上,而不是只给出问题,让大家对问题的运行环境去猜谜语。
我简单试了一下,在我构建的测试环境下,没有任何问题。不可能“‘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编辑过]


泉城飞狐
2022-11-07 11:12
schtg
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:https://t.me/pump_upp
等 级:贵宾
威 望:67
帖 子:1355
专家分:2534
注 册:2012-2-29
得分:0 
回复 11楼 liuxingang28
谢谢!
2022-11-07 15:38



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-510561-1-1.html




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

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