Delphi 7 ADO,DBGrid组合框字段

时间:2013-06-17 14:58:07

标签: delphi delphi-7 ado

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

enter image description here

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

所以我用SELECT ... JOIN查询创建了一个ADOQuery,一个DataSource并将一个DBGrid DataSource链接到它。  enter image description here

一切正常,但不是jobId字段,而是我想要显示JobNames的Job字段,允许通过combobox选择它并在employee.JobId中设置id。 像这样的东西: enter image description here

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

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

enter image description here

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

此外,我在DBGrid列中找到了PickList属性,但它是TStrings,因此它只允许显示的字符串,而不是单独显示的字符串和值。即使我尝试将其填充为字符串字段(LastName),它也没有做任何事。

1 个答案:

答案 0 :(得分:4)

右键单击qryEmployes数据集,选择new field并指定所需的值。

Sorry for german version