我在MySQL数据库中有这些表:
我想在DBGrid中显示employee表和job.jobName并允许用户编辑它(可能使用DBNavigator)。
所以我用SELECT ... JOIN查询创建了一个ADOQuery,一个DataSource并将一个DBGrid DataSource链接到它。
一切正常,但不是jobId字段,而是我想要显示JobNames的Job字段,允许通过combobox选择它并在employee.JobId中设置id。 像这样的东西:
我认为我可以使用ADOQuery中JobId字段的LookupKeyFields / LookupResultFields属性来实现它,但实际上它对我不起作用。
我添加了一个ADOTable,它只加载作业表中的所有内容并设置JobId字段(在ADOQuery中)属性:FieldKind = fkLookup ,KeyFields = JobId ,LookupDataSet = < strong> tblJob ,LookupKeyFields = IdJob ,LookupResultFields = JobName 。
但现在Job列只是空的,没有组合框。
此外,我在DBGrid列中找到了PickList属性,但它是TStrings,因此它只允许显示的字符串,而不是单独显示的字符串和值。即使我尝试将其填充为字符串字段(LastName),它也没有做任何事。
答案 0 :(得分:4)
右键单击qryEmployes数据集,选择new field
并指定所需的值。