Добрый день,
В базе есть две таблицы: tblWorkers и slvDepartments. В первой - список сотрудников, во второй - список отделов. Связь идет по полям idDepart и ID соответственно. Настраиваю под эту пару DBLookupComboBox:
DataField = 'IdDepart'
DataSource = dsWorker
KeyField = 'ID'
ListField = 'DepatName'
ListFieldIndex = 0
ListSource = dsDepart
LookupCache = False
Результат: виден список значений, но при переходе на существующую запись не происходит отображения соответствующего значения из справочника.
Можно ли победить данную неприятность?
Lazarus 0.9.29, fpc 2.5.1, MySQL 5.1, Ubuntu.
DBLookupComboBox - не отображается текущее значение
Модератор: Модераторы
-
MaxIvanych
- незнакомец
- Сообщения: 5
- Зарегистрирован: 14.01.2011 23:27:48
Не совсем понятна проблема объясните подробнее, что работает не правильно и что должно происходить.
-
MaxIvanych
- незнакомец
- Сообщения: 5
- Зарегистрирован: 14.01.2011 23:27:48
Я лучше нарисую. Есть сотрудник, который работает в некотором отделе. На приведенном на картинке примере - в администрации. Внешний ключ таблицы tblWorkers (idDepart) не пуст, запись тестовая. Выпадающий список по таблице-словарю slvDepartments с первичным ключом ID заполнен.
В DBLookupComboBox в текстовом поле, по идее, должна быть надпись "Администрация". Ее нет, в чем, собственно и заключается проблема.
Заранее благодарю за любую помощь.
В DBLookupComboBox в текстовом поле, по идее, должна быть надпись "Администрация". Ее нет, в чем, собственно и заключается проблема.
Заранее благодарю за любую помощь.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
может дело в ключевом столбце, столбец id должен быть скрыт, но он же изменяет значение в таблице. Какое именно поле отображать, а из какого брать id нужно настроить
-
MaxIvanych
- незнакомец
- Сообщения: 5
- Зарегистрирован: 14.01.2011 23:27:48
Ism писал(а):может дело в ключевом столбце, столбец id должен быть скрыт, но он же изменяет значение в таблице. Какое именно поле отображать, а из какого брать id нужно настроить
То есть, настроек из первого поста недостаточно? Где и что еще можно попытаться настроить?
Попробовал собрать проект по Вашим настройкам. Только использовал sqlite. Всё отрабатывает как должно быть. при переходе по записям мастер таблицы меняется отдел в комбобоксе.
всё это на win32 lazarus 0.9.29 (SVN 28797) fpc 2.4.3.
Вполне возможен глюк в отрисовке виджета, попробуйте скомпилировать проект под другой виджетсет (Qt/Gtk2).
Добавлено спустя 8 минут 51 секунду:
Кстати собрал под gtk 2 - тоже нормально отрабатывает. Qt на виндовой машине нет, по этому проверить не могу.
ЗЫ: ГТК под виндой выглядит как всегда - УГ.
всё это на win32 lazarus 0.9.29 (SVN 28797) fpc 2.4.3.
Вполне возможен глюк в отрисовке виджета, попробуйте скомпилировать проект под другой виджетсет (Qt/Gtk2).
Добавлено спустя 8 минут 51 секунду:
Кстати собрал под gtk 2 - тоже нормально отрабатывает. Qt на виндовой машине нет, по этому проверить не могу.
ЗЫ: ГТК под виндой выглядит как всегда - УГ.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
если еще актуально то отвечу
была такая проблема со стандартным DBLookupComboBox
оказалось тип данных первичного ключа в MySQL и в лазарусе был разный
хотя RxDBLookupCombo от alex'a работал как надо
была такая проблема со стандартным DBLookupComboBox
оказалось тип данных первичного ключа в MySQL и в лазарусе был разный
хотя RxDBLookupCombo от alex'a работал как надо
Кстати, я попробовал такой пример - создал в TSQL - lookup Field, - и в таблице DBGrid - возникла такая же проблема как у топикстартера. Значения не отображаются, а в списке нужные значения присутствуют. Победить этот глюк так и не смог. 
Добавлено спустя 10 минут 32 секунды:
На работе ограничение в отправки файлов - до 7КБ, приходится картинки резать по самое не балуйся.
Добавлено спустя 10 минут 32 секунды:
На работе ограничение в отправки файлов - до 7КБ, приходится картинки резать по самое не балуйся.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
