Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Проблема с DBLookupComboBox [D7, IB6.x]


Евген ©   (2004-02-26 18:33:00) 

Господа, добрый день. Я понимаю что вопрос мой глупый и гдето даже элементарный, но я о него споткнулся и не могу решить уже два дня.
Есть БД InterBase, в нец две таблицы: Goods (Товары) и Proizvoditel (Страна производитель - 2 поля P_ID - код страны и P_NAME - название страны). В таблице товаров есть поле (Intrger) со ссылкой на код страны изготовителя.
По ряду причин редактирую записи я не в BDGrid (там я их только просматриваю) а в отдельной форме. Когда форма для редактирования открывается соответствующие элементы управления (в основном TEdit) заполняются значениями текущей записи. Дак, собственно, проблема в том что DBLookupComboBox, который отвечает за выбор стран не переходит на строчку с соотв. страной, а стоит на пустой строке. Уже потом при ручной смене изготовителя все работает нормально - отлавливаю необходимый индекс страны при выборе в списке и записываю его в таблицу товаров. Но ведь так работать нельзя!!! Уважаемые мастера укажите пожалуйста грабли на которые я наступаю!
Вот кусок кода, который отвечает за заполнение формы для редактирования:

NameEdit.Text:=FormMain.GoodsDataSet.FieldByName'NAME').AsString;
ProizvoditelDBLCB.ListFieldIndex:=
FormMain.GoodsDataSet.FieldByName'PROIZVODITEL').AsInteger;

OpisEdit.Text:=
FormMain.GoodsDataSet.FieldByName('OPIS').AsString;

IzmEdit.Text:=FormMain.GoodsDataSet.FieldByName('IZM').AsString;
PriceEdit.Text:=
FormMain.GoodsDataSet.FieldByName('PRICE').AsString;

PriceDillEdit.Text:=
FormMain.GoodsDataSet.FieldByName('PRICE_OPT').AsString;

PriceOptEdit.Text:=
FormMain.GoodsDataSet.FieldByName('PRICE_OPT').AsString;


Подключение DBLookupComboBox следующее:
IBDatabase->ProizvoditelDataSet->ProizvoditelDataSource->ProizvoditelDBLCB

ProizvoditelDBLCB.ListSourse:=ProizvoditelDataSource;
ProizvoditelDBLCB.ListField:=P_NAME;
ProizvoditelDBLCB.KeyField:=P_ID;
ProizvoditelDBLCB.DataSourse и
ProizvoditelDBLCB.DataField незаполнены.


Евген   (2004-02-27 10:21:00) [1]


> stud ©

Огромное спасибо!!! Как я и предполагал, я споткнулся на позорном пустяке!


stud   (2004-02-26 18:42:00) [2]

ProizvoditelDBLCB.KeyValue:=нужный код


Наверх

Титульная страница Поиск, карта сайта Написать письмо