1

我有两个表客户和类别,为了简单起见,我将保持结构简单:

customer
---------
id            name        categoryid
----------------------------------
1             joe          1
2             john         2


category
---------
categoryid            categoryname        
-----------------------------------
1                       User
2                       Admin

我有一个包含客户姓名和一些其他信息作为文本字段的表单,以及一个组合框,我想在其中显示类别表中相应的类别名称。知道我希望客户表始终存储 categoryid,我如何使用 foxpro 数据绑定来做到这一点?显示类别名称值,来自类别表,并在客户表中存储类别 ID ?

4

2 回答 2

0

在表单设计器的组合框属性中,设置 RowSourceType = 2(Alias) 和 RowSource = "CateGory.Categoryname, CateGory.CategoryId", ControlSource = "Customer.Id", BoundColumn = 2

此外,您还需要将表添加到表单的 DataEnvironment 中。

于 2013-02-13T21:06:33.600 回答
0

在数据环境中添加具有您要在客户表单中查看的类别的表,并使用与其关联的类别 ID。使用组合框控件作为数据源链接到具有类别 ID 的客户表字段,尝试使用组合框构建器,方法是右键单击鼠标,同时选择表单上的组合框,完成后。转到组合丢失焦点事件并通过代码显示组合框中所选类别的类别名称,使用如下所示:获取类别并在表单上的标签中显示它,假设类别 ID 为整数:

Local iCatID As Integer
iCatID = ThisForm.Combo.Value
Select CategoryTable
Locate for iCatID = CategoryTable.CategID
IF Found()
ThisForm.Label.Caption = "Category " + Transform(CategoryTable.Category, "@T")
ThisForm.Refresh()
Else
Messagebox("Invalid Category !")
Endif 

试试看,希望它对你有用。

于 2013-08-11T10:31:50.153 回答