如何捕捉组合框中的输入

翻译|其它|编辑:郝浩|2004-07-14 14:18:00.000|阅读 2074 次

概述:

# 界面/图表报表/文档/IDE等千款热门软控件火热销售中 >>


如何捕捉组合框中的输入

Visual FoxPro 允许在表单中使用组合框来选择或输入数据. 组合框允许数据来自不同的源: 值, 别名, SQL 语句, 查询, 数组, 字段, 文件, 结构和弹式菜单. 本文用示例演示如何输入不在组合框的下拉列表中的信息并以组合框中输入的值修改表中字段的值.

更多信息
以下步骤演示如何在组合框中输入数据并当该值不存于表中时, 保存该值到表中的一个字段:

创建一个新表单, 并放入以下代码到它的 Load 事件过程中:

PUBLIC ARRAY aTitle(1)
SELECT DISTINCT(customer.contact) FROM customer ;
INTO ARRAY aTitle

从 \Data 目录添加一个 customer 表到表单的数据环境. \Data 目录可在以下位置找到:

Visual FoxPro 3.x: VFP\Samples\Mainsamp
Visual FoxPro 5.x: VFP\Samples
Visual FoxPro 6.0: \MSDN98\98VS\1033\Samples

放一个文本框到表单中, 并设置它的 ControlSource 属性为:

Customer.Contact

放入一个组合框到表单. 设置它的 RowSource 属性为 aTitle 和 RowSourceType 属性为 5 - 数组.

在它的 InteractiveChange 过程中, 打入以下代码:

IF Customer.Contact != Thisform.combo1.DisplayValue
REPLACE Customer.Contact WITH Thisform.combo1.DisplayValue
Thisform.Text1.Refresh
SELECT DISTINCT(customer.contact) FROM customer ;
INTO ARRAY aTitle
ENDIF

在它的 LostFocus 代码中, 打入以下代码:

IF Customer.Contact != Thisform.combo1.DisplayValue
REPLACE Customer.Contact WITH Thisform.combo1.DisplayValue
Thisform.Text1.Refresh
SELECT DISTINCT(customer.contact) FROM customer ;
INTO ARRAY aTitle
ENDIF
thisform.combo1.displayvalue=""

添加一个命令按钮到表单, 并在它的 Click 事件过程中打入以下代码:

SKIP
ThisForm.Combo1.DisplayValue=Customer.Contact
ThisForm.Refresh

添加另一个命令按钮, 并在它的 Click 事件过程中打入以下代码:

SKIP -1
ThisForm.Combo1.DisplayValue=Customer.Contact
ThisForm.Refresh

保存并运行表单. 修改组合框中的值, 并用两个命令按钮移动表中的记录指针. 关闭表单, 并浏览 Customer 表. 查看 Contact 字段. 在组合框中输入的修改将反映到字段中来.


标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@evget.com


为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP