| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3674 人关注过本帖
标题:请问关于下拉列表框,输入的数据不是该数据项的值时就变成空白
只看楼主 加入收藏
有容就大
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:东土大唐
等 级:版主
威 望:74
帖 子:9048
专家分:14309
注 册:2011-11-11
收藏
得分:0 
以下是引用C469143在2012-9-17 08:20:27的发言:

我就是想:输入的数据不在数据源中,它也能接受,不会变成空白。
请问,这代码要怎么写?

我试过 貌似可以用style = 0然后用List(i)来增加数据不用数据源

梅尚程荀
马谭杨奚







                                                       
2012-09-17 08:33
bccn201203
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:3
帖 子:680
专家分:1140
注 册:2012-3-14
收藏
得分:0 
以下是引用C469143在2012-9-17 08:20:27的发言:

我就是想:输入的数据不在数据源中,它也能接受,不会变成空白。
请问,这代码要怎么写?
VFP6、VFP9中,COMBOBOX在默认状态下,不存在楼主所述情况。
2012-09-17 09:23
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
回复 9楼 C469143
用11楼的办法

授人以渔,不授人以鱼。
2012-09-17 10:58
C469143
Rank: 1
等 级:新手上路
帖 子:31
专家分:0
注 册:2012-9-16
收藏
得分:0 
以下是引用TonyDeng在2012-9-17 10:58:45的发言:

用11楼的办法
请教具体代码
2012-09-17 11:06
C469143
Rank: 1
等 级:新手上路
帖 子:31
专家分:0
注 册:2012-9-16
收藏
得分:0 
以下是引用有容就大在2012-9-17 08:33:43的发言:


我试过 貌似可以用style = 0然后用List(i)来增加数据不用数据源
请教具体代码
2012-09-17 11:08
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
在张洪举书中有讲这个问题,也提供了一个修正模型。基本上只能用重新组装一个ComboBox的思路来做,具体要看你与数据源是怎么绑定的,没有现成很完善的代码。

授人以渔,不授人以鱼。
2012-09-17 11:18
cxzbzgz
Rank: 8Rank: 8
来 自:云南楚雄
等 级:贵宾
威 望:24
帖 子:298
专家分:808
注 册:2012-6-15
收藏
得分:0 
   你这个问题在过去我做自学考试系统时也曾经遇到过,比如要输入考生的邮政编码,可以从下拉列表框中选择输入,但是有时考生的邮政编码在下拉列表框中并没有,那怎么办呢?我在张洪举老师的《Visual FoxPro 程序设计参考手册》中找到了解决的办法。
   如果希望在组合框中输入的在下拉列表选项中不存在的值能够能够保存到ControlSource属性指定的字段中,可以在组合框的LostFource事件中写入下面代码的赋值语句,用于在组合框失去焦点时将DisplayVaue中的值赋给Value属性。
   Tihs.Value=This.DisplayValue
   并且在组合框下拉列表中不存在的值,也不能显示在组合框中。为解决这个问题,可以在组合框的GotFocue事件中写入下面的赋值语句,在组合框中获得焦点时将Value属性的字段值赋给DisplayVaue属性。
   This.DisplayVaue=This.value
   经过以上的设置,可以部分弥补Value与DisplayVaue属性值不同造成的麻烦。但是,当组合框失去焦点后,组合框仍旧不能显示其下拉列表中不存在的值。

学习交流VFP,QQ:248561326。
2012-09-17 12:26
hu9jj
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:红土地
等 级:贵宾
威 望:400
帖 子:11857
专家分:43421
注 册:2006-5-13
收藏
得分:0 
下拉组合框虽然不能变动数据源,但可以通过编写代码,遇到用户输入了数据源表中没有的记录时,动态添加表的记录,将用户新输入的数据作为新记录添加到源表中。
顺便讲一个事例:我在一个程序中按照书上的例子在下拉组合框的interactiveChange事件中编写代码,检测用户输入的回车键,默认用户输入了回车键后就将组合组合框中的数据与源表比较,如果是源表中没有的,通过对话框让用户确认之后再加入到源表中。但程序给了一个用户使用之后,他总是无法在此添加数据,而其他人却能正常运行。经过反复沟通才知道,这位先生在输入新的数据之后并不是按回车键“告诉”程序要添加,而是直接用鼠标将焦点移到其他控件,后来我将这段代码换到组合框失去焦点时来检测才解决问题。

活到老,学到老!http://www.(该域名已经被ISP盗卖了)E-mail:hu-jj@
2012-09-17 13:49
C469143
Rank: 1
等 级:新手上路
帖 子:31
专家分:0
注 册:2012-9-16
收藏
得分:0 
回复 17楼 cxzbzgz
看来是没办法实现了,我的程序也不知道该如何写了。。。。
2012-09-17 14:12
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
思路都给你了,不要说没办法实现的话,看你愿意怎么努力的。想全求人是不现实的。

授人以渔,不授人以鱼。
2012-09-17 14:30
快速回复:请问关于下拉列表框,输入的数据不是该数据项的值时就变成空白
数据加载中...
 
   



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

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