发信人: fbilo()
整理人: hunter__fox(2002-03-16 22:47:21), 站内信件
|
MSKB译文:怎样捕捉组合框中的输入
译者:fbilo
更多的文章请访问foxer资料站:http://fbilo.myrice.com
Article ID: Q140652
Last Reviewed: August 5, 1999
这篇文章中的内容适用于:
Microsoft Visual FoxPro for Windows, versions 3.0, 5.0, 6.0
Microsoft Visual FoxPro for Macintosh, version 3.0b
概述:
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 、RowSourc eType 属性设置为 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 -1
ThisForm.Combo1.DisplayValue=Customer.Contact
ThisForm.Refresh
保存并运行表单。改变组合框中的值,然后用命令按钮在表中移动记录指针。关 闭表单,浏览 Customer 表,查看 Contact 字段。在组合框中的变化已经反映到 表中了。
参考:
要得到关于这个主题的更多信息,请在 Microsoft Knowledge Base 中查看下面 这篇文章:
Q139769 HOWTO: Add a New Value to a List of Values in a Combo Box
怎样给组合框中列表的值添加一个新值。
附加查询关键词:
关键词:kbcode kbDesigner kbMAC kbVFp300 kbVFp500 kbVFp600
版本:
平台:
发行类型: kbhowto
技术:
foxer资料站保留所有的权利,如欲转载或出版,请与我联系:[email protected]
-- ※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 61.130.72.73]
|
|