3

我的 MySQL 数据库中有这些表:

在此处输入图像描述

我想在 DBGrid 中显示员工表和 job.jobName 并允许用户编辑它(可能使用 DBNavigator)。

所以我创建了一个带有 SELECT ... JOIN 查询的 ADOQuery,一个 DataSource 并将一个 DBGrid DataSource 链接到它。 在此处输入图像描述

一切正常,但我想要显示 JobNames 的 Job 字段而不是 jobId 字段,允许通过组合框选择它并在 employee.JobId 中设置 id。像这样的东西: 在此处输入图像描述

我认为我可以使用 ADOQuery 中 JobId 字段的 LookupKeyFields/LookupResultFields 属性来实现它,但实际上它对我不起作用。

我添加了一个 ADOTable,它只加载作业表中的所有内容并设置 JobId 字段(在 ADOQuery 中)属性: FieldKind = fkLookup, KeyFields = JobId, LookupDataSet = tblJob, LookupKeyFields = IdJob, LookupResultFields = JobName

在此处输入图像描述

但是现在 Job 列只是空的并且没有组合框。

我还在 DBGrid 列中找到了 PickList 属性,但它是 TStrings,所以它只允许显示字符串,不允许单独显示的字符串和值。即使我尝试为字符串字段(姓氏)填充它,它也没有做任何事情。

4

1 回答 1

4

右键单击您的 qryEmployes 数据集,选择并new field分配所需的值。

对不起德语版

于 2013-06-17T15:21:31.727 回答