2013-06-17 8 views
3

У меня есть эти таблицы в моей базе данных MySQL:Delphi 7 ADO, DBGrid поля выпадающего

enter image description here

Я хочу, чтобы отобразить таблицу сотрудников и job.jobName в DBGrid и позволяет пользователю редактировать его (с помощью DBNavigator может быть).

Поэтому я создал ADOQuery с запросом SELECT ... JOIN, источником данных и связал с ним источник данных DBGrid DataSource.

Все работает, но вместо поля jobId Я хочу поле Job, которое отображает имена JobNames, позволяет выбирать его с помощью combobox и устанавливает id в employee.JobId. Что-то вроде этого: enter image description here

Я думал, что я могу достигнуть его с помощью LookupKeyFields/LookupResultFields свойства поля JobId в ADOQuery, но на самом деле это не работает для меня.

Я добавил ADOTable, который просто загружает все из таблицы заданий и набор JobId поля (в ADOQuery) свойства: FieldKind = fkLookup, KeyFields = JobId, LookupDataSet = tblJob, LookupKeyFields = IdJob, LookupResultFields = JobName.

enter image description here

Но теперь колонка Работы просто пуста и без Наримера.

Также я нашел свойство PickList в столбцах DBGrid, но это TStrings, поэтому он позволяет отображать только строку, а не отдельные отображаемые строки и значения. И он ничего не сделал, даже когда я попытался заполнить его для строкового поля (LastName).

ответ

4

Щелкните правой кнопкой мыши на вашем наборе данных qryEmployes, выберите new field и присвойте необходимые значения.

Sorry for german version

+1

Это работает, спасибо :) – AlexP11223

Смежные вопросы