combo值的问题

cezugobi 2003-09-12 10:04:40
我的combo的rowsoursetype 是值 在rowsorsetype 中我写入几个数字显示的时候是没有问题的而且我还可以根据其中的值进行查询但是当我用thisform.combo1.value=''测试其中是否有值的时候返回的信息都是空,
这是为什么?
...全文
111 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
fj_jiangqi 2003-09-19
  • 打赏
  • 举报
回复
象你这种情况,可先value置一个0的初值,这样只要用数值判断就行了。
-------------------------
我流落在凄凉的世界里-孤苦伶仃
我过着动荡无助的生活-四处漂泊
zzzm 2003-09-19
  • 打赏
  • 举报
回复
强烈同意fj_jiangqi(强盗) 的做法
老猿的书房 2003-09-15
  • 打赏
  • 举报
回复
:(
还是没有代码,建议楼主将value改成displayvalue试一试
cezugobi 2003-09-15
  • 打赏
  • 举报
回复
谢谢各位的回复
我以前的combo用的是表里的数据在发现其中的值为空时
用thisform.combo1.value=''可以判断
现在我用的是值,
1,2,3,4,5,6,7,8,9,10,11,12
选择月份,
然后根据条件进行查询
但是用thisform.combo1.value=''
判断的时候就出了问题,
无论选择了哪个月份,
判断的结果都为空
dfwxj 2003-09-15
  • 打赏
  • 举报
回复
好了,知道了,很简单的一件事情,没有用精确比较,不管你选什么值,与空值比较都为.t.,改其他什么东东都没有用,将代码改为:

allt(thisform.combo1.value)==''
dfwxj 2003-09-14
  • 打赏
  • 举报
回复
re: FishOfThink(旅者)

没有必要讨论太多,既然你我都知道if thisform.combo1.value='' 返回的是逻辑值,而楼主说是返回“空”,那就说明楼主并没有如你说的那样用“if thisform.combo1.value='' ”来测试,

至于你说的“就是在下拉框的内容末被选中时,其内部的表值数组是不会影响编辑框内的value属性的。”,我更不想多说了,下拉框的值什么时候改变大家都知道,在没有重新选择时值是不会变的,还要你解释了干什么?

对于你举的那个例子更没有必要,就好比说你单位本来分了一套房子给你,后来又建了十套,但新建了十套房子并不影响你现住的房子,除非说单位给你重新分配一套,是不是一个道理?
dfwxj 2003-09-14
  • 打赏
  • 举报
回复
睡觉了~~
mgan 2003-09-14
  • 打赏
  • 举报
回复
楼主 COME HERE
SEE!
老猿的书房 2003-09-14
  • 打赏
  • 举报
回复
RE dfwxj(清风)
我想我们双方在基础概念上并没有冲突,但表述方式上可能产生了一些问题。
希望楼主能把代码贴出来,这倒题反而被搞迷糊了
老猿的书房 2003-09-13
  • 打赏
  • 举报
回复
RE dfwxj(清风)
我已经如您所吩咐的试过了,if thisform.combo1.value='' 这条语句可以被判断并执行,所以我认为,后面的表达式返回的是一个逻辑值应该不会错的。
实际上不要试的,if a=3 这里你能说后面的a=3是赋值而不是判断么?请注意这并不是C语言。我不需要多加一个等号
至于下拉框的内容不会影响value属性,我想我的表达方式可能有些问题,在这里,我是将一个组合框分成两部分来表述的,即直接显示的编辑框部分,和单击下拉箭头后显示的下拉框部分。我想不需我提醒您也应该知道的,就是在下拉框的内容末被选中时,其内部的表值数组是不会影响编辑框内的value属性的。下面的代码可以证明这一点
thisform.combo1.value="sss"
thisform.combo1.additem("rrr")
messagebox(thisform.combo1.value)
输出结果是sss而不是rrr,这证明了我所说的,下拉框内的改变不会影响到编辑框的value属性这一说法
dfwxj 2003-09-13
  • 打赏
  • 举报
回复
to: FishOfThink(旅者)

你自己试试,if thisform.Combo1.Value='' 应该返回什么如果象你说的这样,应该返回“T”或“F”,你再试试你说的“下拉框的内容不会影响Value属性的”是不是这么回事
noproblem12 2003-09-13
  • 打赏
  • 举报
回复
ai,楼主呢?过来看看到底是咋回事?
YuyuanJian 2003-09-13
  • 打赏
  • 举报
回复
Value这个属性是combo控件的值,而DisplayValue是Combo显示出来的数据,通常是Combo的第一栏的数据
老猿的书房 2003-09-13
  • 打赏
  • 举报
回复
RE: dfwxj(清风)

看问题的时候要关系上下文来看的,这是楼主的原话
------------------------------------------------------
当我用thisform.combo1.value=''测试其中是否有值的时候
------------------------------------------------------
请注意他里面用了“测试”这个值,所以很自然的会想到程序原文应该是这样的
if thisform.Combo1.Value=''
在这种情况下,好象这个等号不是用来赋值的吧
xiolig 2003-09-12
  • 打赏
  • 举报
回复
如果 SET EXACT OFF,表达式 任何字符串='' 都返回 .T.
老猿的书房 2003-09-12
  • 打赏
  • 举报
回复
combo的value属性返回的仅是它在编辑框里显示的内容.下拉框的内容不会影响Value属性的.
还有,有时你要用DisplayValue才能得到结果
dfwxj 2003-09-12
  • 打赏
  • 举报
回复
我曾经说过,回复请先看清楚问题!

楼主的命令thisform.combo1.value=''是对组合框进行赋值,而不是所谓的“测试其中是否有值”,楼主的命令执行后,组合框的值当然是空,正确的命令应该是:thisform.text1.value=thisform.combo1.value
这样才能在文本框内显示组合框的值

可以结贴了~~~
laoxin 2003-09-12
  • 打赏
  • 举报
回复
如果你的ComboBox只是用来选择的话,可将其Style属性设置为Dropdown List,这样其Value就可以用了,否则要用DisplayValue取值。

2,722

社区成员

发帖
与我相关
我的任务
社区描述
VFP,是Microsoft公司推出的数据库开发软件,用它来开发数据库,既简单又方便。
社区管理员
  • VFP社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧