【发布时间】:2013-06-17 14:58:06
【问题描述】:
我的 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,所以它只允许显示字符串,不能单独显示字符串和值。即使我尝试为字符串字段(姓氏)填充它,它也没有做任何事情。
【问题讨论】: