Форум: "Базы";
Текущий архив: 2003.06.05;
Скачать: [xml.tar.bz2];
ВнизКомпонент TDBLookupComboBox Найти похожие ветки
← →
AtoL2k2 (2003-05-16 15:53) [0]Можно ли принудительно присваивать значения этому компоненту. То есть нужно чтобы курсор в ListSource стоял на определенной записи таблицы и при раскрытии списка был активным.
Возможно ли такое?
В принципе если свойству KeyValue задать определенный ключ из таблицы в DBLookupComboBox -е отображается нужное поле, но реально эта запись неактивна.
← →
Johnmen (2003-05-16 16:01) [1]>но реально эта запись неактивна.
На основании чего сделан такой вывод ?
← →
AtoL2k2 (2003-05-16 16:13) [2]2Johnmen
на основании того, что в таблицу с которой связан DataSource не записывается ничего. То есть поле DataField пустое.
← →
Johnmen (2003-05-16 16:20) [3]Как принято в таких случаях восклицать :
"Код в студию !"
← →
AtoL2k2 (2003-05-16 16:27) [4]Table1.ID_Table2 ----> Table2.ID
cbTest.KeyValue:=2 //предположим Table2.ID=2
LookUpComboBox действительно показывает все что нужно. Но если его не раскрывать (!!!) то данный в Table1 не сохраняются. Если же пользователь нажал на раскрывающийся список - то все ок.
← →
Johnmen (2003-05-16 16:37) [5]Понятно...
Просто пропиши значение поля Table1.ID_Table2 нужным значением, и не делай cbTest.KeyValue:=2 ...
← →
AtoL2k2 (2003-05-16 17:24) [6]Я так и делаю...
Это я для примера показал.
Придется принудительно тогда заставлять пользователя тыкать в список. Иначе никак. Программно можно, в принципе. Но это геморройная ситуация - нужно вызывать OnCloseUp, потом его закрывать.
← →
ЮЮ (2003-05-17 05:22) [7]>Я так и делаю...
Нет не так. Надо установить cbTest.DataSource равным DataSource для Table1 и cbTest.FieldName = "ID_Table2 ". И всё. Теперь что будет в текущей записи Table1, то и будет отображаться в комбобоксе и лезть "программно" в него не надо - надо менять поле ID_Table2 в Table1
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2003.06.05;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.009 c