| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > Программно настроить DBLookupComboBox |
| Автор: scorp 2.1.2003, 03:16 |
| Подскажите пожалуста как программно настроить компонент DBLookupComboBox на определённую таблицу ? Допустим, что в данный момент этот компонент уже настроен на какую-то таблицу. Надо в процессе работы программы перенастроить его на таблицу tbProducts (поле Name). Надо настроить свойства ListSource, ListField, KeyField на табилцу tbProducts и поле Name. Как это сделать |
| Автор: Kleo 2.1.2003, 22:28 |
| Если я правильно поняла, тебе просто ужно прописать в нужном месте что-то в таком роде: DBLookupComboBox1.DataSource:= DBLookupComboBox1.DataField:= DBLookupComboBox1.ListSource:= DBLookupComboBox1.ListField:= DBLookupComboBox1.KeyField:= и рисуешь нужные тебе таблицы и поля....это и перенастроит твой DBLookupComboBox на что ты хочешь.. Тебе ведь это нужно? или я тебя не поняла? |
| Автор: scorp 3.1.2003, 07:23 |
| Ну ты меня понял на половину. Я понимаю что это это так записывается, проблема в выражении после присваивания. Я пробовал разные способы (особенно для ListField, KeyField), но что-то не получается......... |
| Автор: Kleo 3.1.2003, 21:23 |
| не понял, а понялА :)) так ты пиши как обычно к полям обращаешься... может так DBLookupComboBox1.ListSource:=tbProducts.FieldByName('Name').AsString; или как там у тебя? так что не работает? или? в чем проблема? |
| Автор: scorp 4.1.2003, 01:36 |
| Если писать вот так, то компонент не активен (FOrders - форма dblcb.... - компонент DBLookupComboBox DM - модуль данных ds... - DataSource) DM.tbProducts.Close; with FOrders.dblcbNameProduct do begin ListSource:=DM.dsProducts; ListField:=DM.tbProducts.FieldByName('name_product').AsString; KeyField:=DM.tbProducts.FieldByName('name_product').AsString; end; DM.tbProducts.Open; |
| Автор: Medved 4.1.2003, 01:54 | ||
так будет работать...
Свойствам ListField и KeyField присваиваются не значения полей, а их наименования. а вообще на будущее, напишите "ListField:=" и нажмите на Ctrl+Пробел, выскочит подсказка, и там видно, какого типа, должно быть значение, которое Вы собираетесь присваивать. |
| Автор: Medved 4.1.2003, 03:15 | ||
Так, для информации, если же требуется "обнулить" значение DBLookupComboBox, то это делается следующим способом:
|
| Автор: Kleo 4.1.2003, 05:21 |
| мда :)) здорово :) на самом деле это так и просилось в ответ...там же когда из списка выбирать нужно что-то так в принципе и делается |